*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#111827}.login-page{min-height:100vh;margin:0;background:linear-gradient(180deg,#3b4b63,#34495e 45%,#2f4158)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:420px;background:#fff;border-radius:.75rem;padding:2.5rem 2.25rem;box-shadow:0 20px 45px #0f172a1f;border:1px solid rgba(148,163,184,.25)}.login-logo{display:block;margin:0 auto 1.5rem;width:72px;height:72px;object-fit:contain}.login-card h1{text-align:center;font-size:1.5rem;margin:0;color:#111827}.login-subtitle{text-align:center;margin:.4rem 0 1.8rem;font-size:.95rem;color:#6b7280}.login-form{display:flex;flex-direction:column;gap:1.1rem}.form-group label{display:block;margin-bottom:.35rem;font-size:.85rem;font-weight:500;color:#374151}.form-group input{width:100%;padding:.65rem .85rem;border-radius:.5rem;border:1px solid #d1d5db;font-size:.95rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.form-group input:focus{border-color:#3ebdb2;box-shadow:0 0 0 1px #3ebdb259;background-color:#f9fafb}.password-input-wrapper{position:relative;display:flex;align-items:center;border-radius:.5rem;border:1px solid #d1d5db;padding-right:.25rem;background:#f9fafb}.password-input-wrapper:focus-within{border-color:#3ebdb2;box-shadow:0 0 0 1px #3ebdb259;background:#fff}.password-input-wrapper input[type=password]::-webkit-credentials-auto-fill-button,.password-input-wrapper input[type=password]::-webkit-credentials-auto-fill-button:hover,.password-input-wrapper input[type=password]::-webkit-credentials-auto-fill-button:active{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.password-input-wrapper input::-webkit-outer-spin-button,.password-input-wrapper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.password-input-wrapper input[type=password]::-ms-reveal,.password-input-wrapper input[type=password]::-ms-clear{display:none!important}.password-input-wrapper input[type=password]{-moz-appearance:textfield}.password-input-wrapper input{border:none;background:transparent;padding-right:.25rem}.password-toggle-btn{border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:.35rem;border-radius:999px;color:#6b7280;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .05s ease}.password-toggle-btn:hover{background-color:#e5e7eb;color:#111827}.password-toggle-btn:active{transform:scale(.96)}.login-button{margin-top:.5rem;width:100%;border:none;border-radius:999px;color:#fff;font-weight:600;padding:.7rem 1rem;font-size:.95rem;cursor:pointer;box-shadow:0 12px 25px #2563eb59;transition:transform .08s ease,box-shadow .12s ease,filter .1s ease,opacity .1s ease}.login-button:hover{filter:brightness(1.05);box-shadow:0 16px 32px #2563eb6b}.login-button:active{transform:translateY(1px) scale(.99);box-shadow:0 10px 22px #2563eb4d}.login-button:disabled{opacity:.6;cursor:default;box-shadow:none}.login-button--primary{background:#be123c}.login-button--secondary{background:#3ebdb2;box-shadow:0 10px 22px #22c5bb59}.login-footer{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid #e5e7eb;text-align:center;font-size:.85rem;color:#6b7280}.login-footer p{margin:0 0 .5rem}.btn-back{width:100%;margin-top:.85rem;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:.9rem;padding:.55rem .9rem;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn-back:hover{background:#f3f4f6;border-color:#cbd5f5}.alert{padding:.55rem .75rem;border-radius:.5rem;font-size:.85rem}.alert.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.alert.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.link-inline{margin-top:.35rem;background:none;border:none;padding:0;color:#3ebdb2;font-size:.85rem;cursor:pointer;text-decoration:underline}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}.modal{background:#fff;border-radius:.75rem;padding:1.5rem 1.75rem;max-width:96%;width:420px;box-shadow:0 20px 45px #0003;border:1px solid rgba(148,163,184,.25)}.modal.large{width:90%;max-width:1000px}.modal h2{margin:0 0 .5rem;font-size:1.25rem;color:#111827}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.modal-subtitle{margin:0;font-size:.9rem;color:#6b7280}.btn-close{background:none;border:none;padding:.25rem;cursor:pointer;color:#6b7280;font-size:1.25rem;line-height:1}.btn-close:hover{color:#111827}.modal-body{margin-bottom:1rem}.modal-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-primary{background:#2563eb;color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:#e5e7eb;color:#374151;border:none;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-secondary:hover:not(:disabled){background:#d1d5db;color:#111827}.btn-secondary:disabled{opacity:.6;cursor:default}.section{margin-bottom:1.5rem}.section-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#111827}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-actions-right{display:flex;justify-content:flex-end;gap:.5rem}.empty-state{margin:0;font-size:.9rem;color:#6b7280}.fab-options-wrap{position:absolute;bottom:100%;right:0;margin-bottom:.5rem;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.fab-option{padding:.6rem 1rem;border-radius:999px;border:none;background:#fff;color:#374151;font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:0 4px 12px #00000026;white-space:nowrap}.fab-option:hover{background:#f3f4f6}.fab-main{width:56px;height:56px;border-radius:50%;border:none;background:#2563eb;color:#fff;cursor:pointer;box-shadow:0 4px 14px #2563eb66;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.fab-main:hover{transform:scale(1.05);box-shadow:0 6px 18px #2563eb80}
