:root{--font-sans-vi:"Segoe UI", Tahoma, Arial, "Noto Sans", "Liberation Sans", sans-serif;--ui-button-height:44px;--ui-button-height-sm:36px;--ui-button-height-lg:52px;--ui-button-radius:8px;--ui-button-gap:8px;--ui-button-pad-x:18px;--ui-button-font-size:.98rem;--ui-button-font-weight:700;--ui-button-shadow:0 8px 18px #0f172a24;--ui-button-shadow-hover:0 12px 24px #0f172a2e;--ui-button-transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease, filter .16s ease;--ui-focus-ring:0 0 0 3px #0ea5e957;--ui-primary:var(--header-red,#d81e05);--ui-primary-hover:var(--header-red-dark,#8a0000);--ui-secondary:var(--btn-secondary,#1565c0);--ui-secondary-hover:var(--btn-secondary-hover,#0d47a1);--ui-success:var(--success,#198754);--ui-success-hover:var(--success-hover,#157347);--ui-danger:var(--danger,#dc3545);--ui-danger-hover:var(--danger-hover,#bb2d3b);--ui-neutral:#253241;--ui-neutral-hover:#17212f;--ui-on-dark:#fff}html,body,button,input,select,textarea,optgroup,a{font-family:var(--font-sans-vi)}html{background-color:var(--app-bg,#f1f5f9)}button,[type=button],[type=submit],[type=reset],.btn,.action-btn,.action-button,.action-button-modern,.app-button,.header-action-btn,.back-button,.modal-confirm-btn,.modal-cancel-btn,.settings-close,.favorites-close,.procedure-item-button,.print-controls .action-button,.modal-buttons .action-button{min-height:var(--ui-button-height);min-width:44px;padding:0 var(--ui-button-pad-x);border-radius:var(--ui-button-radius);font-family:var(--font-sans-vi);font-size:var(--ui-button-font-size);font-weight:var(--ui-button-font-weight);letter-spacing:0;justify-content:center;align-items:center;gap:var(--ui-button-gap);white-space:normal;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;color:var(--ui-on-dark);background:var(--ui-neutral);box-shadow:var(--ui-button-shadow);transition:var(--ui-button-transition);border:1px solid #0000;line-height:1.2;text-decoration:none;display:inline-flex}button:hover:not(:disabled),[type=button]:hover:not(:disabled),[type=submit]:hover:not(:disabled),[type=reset]:hover:not(:disabled),.btn:hover:not(:disabled),.action-btn:hover:not(:disabled),.action-button:hover:not(:disabled),.action-button-modern:hover:not(:disabled),.app-button:hover:not(:disabled),.header-action-btn:hover:not(:disabled),.back-button:hover,.modal-confirm-btn:hover:not(:disabled),.modal-cancel-btn:hover:not(:disabled),.settings-close:hover,.favorites-close:hover,.procedure-item-button:hover,.print-controls .action-button:hover:not(:disabled),.modal-buttons .action-button:hover:not(:disabled){box-shadow:var(--ui-button-shadow-hover);filter:brightness(1.04);transform:translateY(-1px)}button:active:not(:disabled),[type=button]:active:not(:disabled),[type=submit]:active:not(:disabled),[type=reset]:active:not(:disabled),.btn:active:not(:disabled),.action-btn:active:not(:disabled),.action-button:active:not(:disabled),.action-button-modern:active:not(:disabled),.app-button:active:not(:disabled),.header-action-btn:active:not(:disabled),.back-button:active,.modal-confirm-btn:active:not(:disabled),.modal-cancel-btn:active:not(:disabled),.procedure-item-button:active{filter:brightness(.98);transform:translateY(0)}button:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}[type=button]:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}[type=submit]:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}[type=reset]:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}a:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}.btn:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}.action-btn:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}.action-button:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}.action-button-modern:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}.app-button:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}.header-action-btn:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}.back-button:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}.procedure-item-button:focus-visible{box-shadow:var(--ui-button-shadow), var(--ui-focus-ring);outline:none}button:disabled,[type=button]:disabled,[type=submit]:disabled,[type=reset]:disabled,.btn:disabled,.action-btn:disabled,.action-button:disabled,.action-button-modern:disabled,.app-button:disabled,.header-action-btn:disabled,.procedure-item-button:disabled{opacity:.58;cursor:not-allowed;filter:grayscale(.1);box-shadow:none;transform:none}.btn-primary,.action-btn.primary-btn,.action-btn.confirm-btn,.action-btn.edit-btn,.action-button.primary,.action-button-modern.add-button,.action-button-modern.export-button,.app-button.primary,.modal-confirm-btn,.header-action-btn.btn-display,.header-action-btn.btn-form{background:var(--ui-primary);border-color:color-mix(in srgb, var(--ui-primary), #000 12%);color:var(--ui-on-dark)}.btn-primary:hover:not(:disabled),.action-btn.primary-btn:hover:not(:disabled),.action-btn.confirm-btn:hover:not(:disabled),.action-btn.edit-btn:hover:not(:disabled),.action-button.primary:hover:not(:disabled),.action-button-modern.add-button:hover:not(:disabled),.action-button-modern.export-button:hover:not(:disabled),.app-button.primary:hover:not(:disabled),.modal-confirm-btn:hover:not(:disabled){background:var(--ui-primary-hover)}.btn-secondary,.action-button.secondary,.action-button-modern.import-button,.app-button.secondary,.modal-cancel-btn{background:var(--ui-secondary);border-color:color-mix(in srgb, var(--ui-secondary), #000 12%);color:var(--ui-on-dark)}.btn-secondary:hover:not(:disabled),.action-button.secondary:hover:not(:disabled),.action-button-modern.import-button:hover:not(:disabled),.app-button.secondary:hover:not(:disabled),.modal-cancel-btn:hover:not(:disabled){background:var(--ui-secondary-hover)}.btn-success,.action-button.success,.app-button.success{background:var(--ui-success);border-color:color-mix(in srgb, var(--ui-success), #000 12%);color:var(--ui-on-dark)}.btn-success:hover:not(:disabled),.action-button.success:hover:not(:disabled),.app-button.success:hover:not(:disabled){background:var(--ui-success-hover)}.btn-danger,.action-btn.delete-btn,.action-button.danger,.action-button-modern.delete-button,.app-button.danger,.header-action-btn.btn-copy,.header-action-btn.btn-copy-icon{background:var(--ui-danger);border-color:color-mix(in srgb, var(--ui-danger), #000 12%);color:var(--ui-on-dark)}.btn-danger:hover:not(:disabled),.action-btn.delete-btn:hover:not(:disabled),.action-button.danger:hover:not(:disabled),.action-button-modern.delete-button:hover:not(:disabled),.app-button.danger:hover:not(:disabled){background:var(--ui-danger-hover)}.btn.small,.action-btn,.action-button.small,.app-button.small,.btn-icon,.settings-close,.favorites-close{min-height:var(--ui-button-height-sm);padding-inline-start:12px;padding-inline-end:12px;font-size:.9rem}.print-controls .action-button,.modal-buttons .action-button{min-height:var(--ui-button-height-lg);padding-inline-start:24px;padding-inline-end:24px;font-size:1.08rem}.menu-button,.general-button{font-family:var(--font-sans-vi);letter-spacing:0}.menu-button:focus-visible{box-shadow:0 10px 24px #0000002e, var(--ui-focus-ring);outline:none}.general-button:focus-visible{box-shadow:0 10px 24px #0000002e, var(--ui-focus-ring);outline:none}input,select,textarea{letter-spacing:0}.auth-landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:1.5rem;display:flex}.auth-landing__spinner:before{content:"";border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;width:2rem;height:2rem;margin:0 auto .75rem;animation:.8s linear infinite auth-landing-spin;display:block}.auth-landing__error{flex-direction:column;align-items:center;gap:1rem;max-width:32rem;display:flex}@keyframes auth-landing-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-landing__spinner:before{animation:none}}.back-button{background:var(--surface-opaque);min-height:0;color:var(--header-red-dark);white-space:nowrap;border:1.5px solid #ffffffb3;border-radius:6px;padding:8px 16px;font-size:.95rem;font-weight:600;text-decoration:none;box-shadow:0 2px 6px #0000002e}.back-button:hover{background:var(--header-red-dark);color:var(--text-light);border-color:var(--text-light)}.back-button svg,.back-button i{width:1.05em;height:1.05em;font-size:1.05em}.procedure-item-button{background:var(--header-red);min-height:110px;color:var(--text-light);text-align:center;white-space:normal;border:none;border-radius:14px;justify-content:center;align-items:center;padding:18px 20px;font-size:1.25em;font-weight:600;line-height:1.35;display:flex;box-shadow:0 4px 10px #0000002e}.procedure-item-button:hover{background:var(--header-red-dark);box-shadow:0 8px 18px #00000040}
