/* Time System — Login page */
:root{--ts-blue:#3b82f6;--ts-blue-dark:#2563eb;--ts-text:#0f172a;--ts-muted:#64748b;--ts-border:#e2e8f0;--ts-bg:#f8fafc}
html,body{min-height:100%;}
body.login-page{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);font-family:"Segoe UI",Roboto,system-ui,-apple-system,sans-serif;color:var(--ts-text);padding:24px;box-sizing:border-box;}
.login-card{width:100%;max-width:430px;padding:42px;background:#fff;border:1px solid var(--ts-border);border-radius:24px;box-shadow:0 24px 60px rgba(15,23,42,.09);box-sizing:border-box;}
.login-brand{text-align:center;margin-bottom:30px;}
.login-logo{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;background:linear-gradient(135deg,var(--ts-blue),#6366f1);color:#fff;border-radius:16px;font-weight:800;font-size:20px;box-shadow:0 10px 24px rgba(59,130,246,.25);margin-bottom:18px;}
.login-title{margin:0;font-size:27px;line-height:1.2;letter-spacing:-.6px;font-weight:800;color:var(--ts-text);}
.login-subtitle{margin:9px 0 0;color:var(--ts-muted);font-size:14px;line-height:1.5;}
.login-error{background:#fef2f2;color:#b91c1c;padding:12px 14px;border-radius:11px;font-size:13px;margin-bottom:20px;border:1px solid #fee2e2;text-align:center;}
.login-field{margin-bottom:20px;}
.login-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.login-label{font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.5px;}
.login-forgot{font-size:12px;color:var(--ts-blue);text-decoration:none;font-weight:700;}
.login-forgot:hover{text-decoration:underline;}
.login-input{display:block;width:100%;height:48px;padding:0 14px;border:1px solid #dbe3ec;border-radius:11px;margin-top:8px;background:#fff;color:var(--ts-text);font:inherit;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s;}
.login-input:focus{border-color:var(--ts-blue);box-shadow:0 0 0 4px rgba(59,130,246,.12);}
.login-button{display:block;width:100%;height:50px;padding:0 16px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--ts-blue),var(--ts-blue-dark));color:#fff;font:inherit;font-size:15px;font-weight:750;cursor:pointer;box-shadow:0 10px 20px rgba(37,99,235,.18);transition:transform .15s,box-shadow .15s;}
.login-button:hover{transform:translateY(-1px);box-shadow:0 13px 24px rgba(37,99,235,.23);}
.login-button:active{transform:translateY(0);}
.login-footer{margin-top:28px;padding-top:20px;border-top:1px solid #f1f5f9;text-align:center;}
.login-footer p{margin:0;color:var(--ts-muted);font-size:13px;}
.login-footer a{color:#059669;text-decoration:none;font-weight:700;}
.login-footer a:hover{text-decoration:underline;}
@media(max-width:520px){body.login-page{padding:16px}.login-card{padding:32px 24px;border-radius:20px}.login-title{font-size:24px}}


/* v59.9 page-level responsive safety */
@media (max-width:1100px){
  .page-grid,.content-grid,.two-column,.three-column,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .toolbar,.page-toolbar,.page-header{flex-wrap:wrap;}
  .table-wrapper,.table-responsive{overflow-x:auto;max-width:100%;}
}
@media (max-width:767px){
  .page-grid,.content-grid,.two-column,.three-column,.form-grid{grid-template-columns:1fr!important;}
  .toolbar,.page-toolbar,.page-header,.actions,.form-actions{flex-direction:column;align-items:stretch;}
  .toolbar>* , .page-toolbar>* , .page-header>*{max-width:100%;}
  .table-wrapper,.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .table-wrapper table,.table-responsive table{min-width:680px;}
  .modal,.drawer,.dialog{width:min(100% - 20px,720px);max-width:calc(100% - 20px);}
  .modal-body,.drawer-body{max-height:calc(100vh - 120px);overflow:auto;}
}
