:root{--primary:#087f72;--primary-dark:#05645b;--accent:#54d5b7;--ink:#153835;--muted:#647a77;--line:#dbe8e5;--surface:#f4f9f8;--danger:#a9333a;--danger-bg:#fff1f2;--white:#fff}
        *{box-sizing:border-box}
        html{min-width:320px}
        body{margin:0;min-height:100vh;color:var(--ink);background:var(--surface);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
        button,input{font:inherit}
        a{color:var(--primary);font-weight:700;text-decoration:none}
        a:hover{text-decoration:underline}
        .page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr)}
        .brand-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;padding:clamp(48px,6.2vw,92px);color:#fff;background:linear-gradient(140deg,rgba(2,61,57,.97),rgba(8,127,114,.88)),url("../img/clinicar-login-hero.png") center/cover no-repeat}
        .brand-panel:before{content:"";position:absolute;z-index:-1;width:560px;height:560px;top:-330px;right:-190px;border:90px solid rgba(255,255,255,.055);border-radius:50%}
        .brand-panel:after{content:"";position:absolute;z-index:-1;width:290px;height:290px;right:8%;bottom:-205px;background:rgba(84,213,183,.11);border:1px solid rgba(255,255,255,.14);border-radius:50%}
        .brand-content{width:100%;max-width:650px}
        .eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;color:#c7f7eb;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
        .eyebrow:before{content:"";width:28px;height:2px;background:var(--accent)}
        .brand-panel h1{margin:0 0 20px;max-width:620px;font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.045em}
        .brand-lead{margin:0;max-width:560px;color:rgba(255,255,255,.8);font-size:clamp(16px,1.5vw,19px);line-height:1.65}
        .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:38px 0 0;padding:0;list-style:none}
        .benefit{min-width:0;padding:15px 14px;background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.12);border-radius:14px;backdrop-filter:blur(8px)}
        .benefit svg{display:block;margin-bottom:10px;color:#9eedd9}
        .benefit strong{display:block;color:#fff;font-size:13px;line-height:1.25}
        .benefit span{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:11px;line-height:1.35}
        .login-panel{display:flex;align-items:center;justify-content:center;padding:40px clamp(28px,5vw,72px);background:radial-gradient(circle at 100% 0,rgba(84,213,183,.11),transparent 34%),var(--surface)}
        .login-card{width:100%;max-width:470px;padding:clamp(30px,4vw,48px);background:#fff;border:1px solid rgba(8,127,114,.09);border-radius:24px;box-shadow:0 24px 70px rgba(24,73,67,.10);animation:enter .5s ease-out both}
        .logo{display:block;width:min(196px,58%);height:auto;margin:0 0 36px}
        .login-card h2{margin:0 0 9px;font-size:clamp(29px,3vw,37px);line-height:1.15;letter-spacing:-.035em}
        .intro{margin:0 0 28px;color:var(--muted);font-size:15px;line-height:1.6}
        .alert{display:flex;align-items:flex-start;gap:10px;margin:0 0 22px;padding:13px 14px;color:var(--danger);background:var(--danger-bg);border:1px solid #f5cfd2;border-radius:12px;font-size:13px;line-height:1.45;animation:alert-in .25s ease-out}
        .alert svg{flex:0 0 auto;margin-top:1px}
        .field{margin-bottom:18px}
        label{display:block;margin-bottom:8px;font-size:13px;font-weight:800}
        .input-wrap{position:relative}
        .field-icon{position:absolute;z-index:1;top:50%;left:16px;transform:translateY(-50%);color:#89a09c;pointer-events:none}
        input{width:100%;min-height:54px;padding:0 48px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
        input::placeholder{color:#98aaa7}
        input:hover{border-color:#b9cfca}
        input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(8,127,114,.11)}
        input:invalid:not(:placeholder-shown):not(:focus){border-color:#db8f94;background:#fffafa}
        .password-toggle{position:absolute;z-index:2;top:50%;right:7px;display:grid;place-items:center;width:40px;height:40px;padding:0;transform:translateY(-50%);color:var(--muted);background:transparent;border:0;border-radius:9px;cursor:pointer}
        .password-toggle:hover,.password-toggle:focus-visible{color:var(--primary);background:#edf8f5;outline:none}
        .eye-off{display:none}.password-toggle[aria-pressed="true"] .eye-on{display:none}.password-toggle[aria-pressed="true"] .eye-off{display:block}
        .caps-warning{display:none;margin-top:8px;color:#8a6516;font-size:12px}.caps-warning.visible{display:block}
        .form-meta{display:flex;justify-content:flex-end;margin:-3px 0 23px;font-size:13px}
        .submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:0 24px;color:#fff;background:linear-gradient(135deg,var(--primary),#0a9181);border:0;border-radius:12px;box-shadow:0 12px 26px rgba(8,127,114,.23);font-weight:800;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
        .submit:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary));box-shadow:0 15px 31px rgba(8,127,114,.29);transform:translateY(-1px)}
        .submit:active{transform:translateY(0)}
        .submit:focus-visible{outline:3px solid rgba(84,213,183,.45);outline-offset:3px}
        .submit:disabled{opacity:.76;cursor:wait;transform:none}
        .spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
        .submit.loading .spinner{display:block}
        .trust{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 0;color:#758a86;font-size:12px;text-align:center}
        .trust svg{color:var(--primary)}
        footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin-top:30px;padding-top:22px;color:#879995;border-top:1px solid #edf2f1;font-size:12px;text-align:center}
        footer a{font-size:12px}.dot{width:3px;height:3px;background:#b4c2bf;border-radius:50%}
        @keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
        @keyframes alert-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
        @keyframes spin{to{transform:rotate(360deg)}}
        @media(max-width:980px){
            .page{grid-template-columns:1fr}
            .brand-panel{min-height:280px;align-items:center;padding:42px clamp(24px,7vw,64px)}
            .brand-panel h1{max-width:720px;font-size:clamp(35px,7vw,48px)}
            .brand-lead{max-width:700px}
            .benefits{max-width:700px;margin-top:26px}
            .login-panel{padding:42px 22px 54px}
        }
        @media(max-width:600px){
            .brand-panel{min-height:auto;padding:28px 22px}
            .eyebrow{margin-bottom:13px;font-size:10px}
            .brand-panel h1{margin-bottom:9px;font-size:29px;letter-spacing:-.035em}
            .brand-lead{font-size:14px;line-height:1.45}
            .benefits{display:none}
            .login-panel{align-items:flex-start;padding:22px 14px 34px}
            .login-card{padding:28px 22px;border-radius:18px}
            .logo{width:172px;margin-bottom:27px}
            .login-card h2{font-size:29px}
            footer{margin-top:25px}
        }
        @media(max-width:380px){.brand-lead{display:none}.login-card{padding:25px 18px}}
        @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
        .field-error{display:none;margin-top:7px;color:var(--danger);font-size:12px}
        .field.has-error .field-error{display:block}
        .field.has-error input{border-color:#cf6970;background:#fffafa}
        .field.has-error input:focus{box-shadow:0 0 0 4px rgba(169,51,58,.1)}
        @media(prefers-color-scheme:dark){
            :root{--ink:#e8f5f2;--muted:#a7bbb7;--line:#34534e;--surface:#102421;--white:#172e2a}
            body{background:#102421}
            .login-panel{background:radial-gradient(circle at 100% 0,rgba(84,213,183,.08),transparent 34%),#102421}
            .login-card{background:#172e2a;border-color:rgba(113,211,188,.13);box-shadow:0 24px 70px rgba(0,0,0,.28)}
            input{color:#e8f5f2;background:#102421;border-color:#34534e}
            input:hover{border-color:#50756e}
            input::placeholder{color:#6f8c86}
            input:invalid:not(:placeholder-shown):not(:focus),.field.has-error input{background:#2b1b1d}
            .password-toggle:hover,.password-toggle:focus-visible{background:#203d37}
            footer{border-top-color:#29443f;color:#91a5a1}
            .trust{color:#9db0ac}
            .alert{background:#321d20;border-color:#63353a;color:#ffc2c6}
        }