:root{--color-bg: #F0F7FF;--color-white: #FFFFFF;--color-primary: #0D6EFD;--color-primary-hover: #0B5ED7;--color-primary-light: #E8F0FE;--color-dark: #212529;--color-secondary: #6C757D;--color-border: #E5E7EB;--color-error: #DC3545;--color-success: #198754;--color-focus-ring: rgba(13, 110, 253, .25);--color-logo-dark: #1A237E;--color-logo-accent: #00BCD4}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-bg);color:var(--color-dark);line-height:1.6;min-height:100vh}.auth-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px 16px}.auth-card{width:100%;max-width:420px;background:var(--color-white);border:1px solid var(--color-border);border-radius:0;padding:48px 40px;box-shadow:0 1px 3px #0000000f}.auth-logo{text-align:center;margin-bottom:8px;-webkit-user-select:none;user-select:none}.auth-logo__img{max-width:280px;height:auto;display:block;margin:0 auto}.auth-title{text-align:center;font-size:20px;font-weight:600;color:var(--color-dark);margin:24px 0 4px}.auth-subtitle{text-align:center;font-size:14px;color:var(--color-secondary);margin-bottom:32px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--color-dark);margin-bottom:6px}.form-input{width:100%;padding:10px 14px;font-size:14px;color:var(--color-dark);background:var(--color-white);border:1px solid var(--color-border);border-radius:0;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.form-input::placeholder{color:#adb5bd}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.form-input--error{border-color:var(--color-error)}.form-input--error:focus{box-shadow:0 0 0 3px #dc354533}.form-error{font-size:12px;color:var(--color-error);margin-top:4px}.form-check{display:flex;align-items:center;gap:8px}.form-check__input{width:16px;height:16px;accent-color:var(--color-primary);border-radius:0;cursor:pointer}.form-check__label{font-size:13px;color:var(--color-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.form-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;font-size:14px;font-weight:600;border:none;border-radius:0;cursor:pointer;transition:background-color .15s ease,opacity .15s ease;text-decoration:none}.btn--primary{background-color:var(--color-primary);color:var(--color-white)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn--primary:disabled{opacity:.65;cursor:not-allowed}.btn__spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn__arrow{font-size:16px;line-height:1}.auth-link{font-size:13px;color:var(--color-primary);text-decoration:none;transition:text-decoration .15s ease}.auth-link:hover{text-decoration:underline}.alert{padding:12px 16px;font-size:13px;margin-bottom:20px;border:1px solid;border-radius:0}.alert--error{background-color:#fef2f2;border-color:#fecaca;color:var(--color-error)}.alert--success{background-color:#f0fdf4;border-color:#bbf7d0;color:var(--color-success)}.auth-back{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--color-secondary);text-decoration:none;margin-top:20px;transition:color .15s ease}.auth-back:hover{color:var(--color-dark)}@media(max-width:480px){.auth-card{padding:32px 20px;border-left:none;border-right:none;box-shadow:none}.auth-wrapper{padding:0;align-items:flex-start}}.password-hints{display:flex;gap:12px;margin-top:6px;font-size:11px}.hint--pass{color:var(--color-success)}.hint--fail{color:var(--color-secondary)}.form-input[readonly]{background-color:#f3f4f6;color:var(--color-secondary);cursor:not-allowed}.dashboard{min-height:100vh;background-color:var(--color-bg)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:56px;background:var(--color-white);border-bottom:1px solid var(--color-border)}.dashboard-header__logo{display:flex;align-items:baseline;gap:0;-webkit-user-select:none;user-select:none}.dashboard-header__logo-img{height:32px;width:auto}.dashboard-header__separator{margin:0 10px;color:var(--color-border);font-size:20px;font-weight:300}.dashboard-header__portal{font-size:14px;font-weight:500;color:var(--color-secondary)}.dashboard-header__actions{display:flex;align-items:center;gap:16px}.dashboard-header__user{font-size:13px;color:var(--color-secondary)}.btn-logout{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:600;color:var(--color-dark);background:var(--color-white);border:1px solid var(--color-border);border-radius:0;cursor:pointer}.btn-logout:disabled{opacity:.6;cursor:not-allowed}.btn__spinner--dark{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,0,0,.15);border-top-color:var(--color-dark);border-radius:50%;animation:spin .6s linear infinite}.dashboard-main{max-width:960px;margin:0 auto;padding:40px 24px}.dashboard-welcome{margin-bottom:32px}.dashboard-welcome h1{font-size:24px;font-weight:600;color:var(--color-dark);margin-bottom:4px}.dashboard-welcome p{font-size:14px;color:var(--color-secondary)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.dashboard-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:0;padding:24px;transition:border-color .15s ease,box-shadow .15s ease;cursor:pointer}.dashboard-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0d6efd14}.dashboard-card__icon{font-size:28px;margin-bottom:12px}.dashboard-card h3{font-size:15px;font-weight:600;color:var(--color-dark);margin-bottom:4px}.dashboard-card p{font-size:12px;color:var(--color-secondary);line-height:1.4}@media(max-width:480px){.dashboard-header{padding:0 16px}.dashboard-header__separator,.dashboard-header__portal{display:none}.dashboard-grid{grid-template-columns:1fr}}
