:root{--ca-coral:#EA5C4C;--ca-coral-deep:#bd4134;--ca-ink:#2d2927;--ca-muted:#7f7773;--ca-paper:#fcf8f4;--ca-white:#fff;--ca-border:#eadfd8}
.ca-eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:800;text-transform:uppercase;color:var(--ca-coral)}
.cassion-login-body{background:var(--ca-paper);margin:0;color:var(--ca-ink);font:16px/1.45 'Segoe UI',Inter,Arial,sans-serif}
.ca-login-grid{display:grid;grid-template-columns:minmax(340px,1.03fr) minmax(380px,1fr);min-height:100vh}
.ca-login-story{background:#f8e7df;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:44px clamp(24px,5vw,78px)}
.ca-login-story:before{content:'';position:absolute;width:440px;height:440px;border:1px solid rgba(234,92,76,.26);border-radius:50%;bottom:-250px;right:-120px;box-shadow:0 0 0 60px rgba(234,92,76,.045),0 0 0 120px rgba(234,92,76,.03)}
.ca-story-top,.ca-story-main,.ca-story-footer{position:relative;z-index:1}
.ca-login-logo{width:230px;max-width:90%;height:70px;object-fit:contain;object-position:left center}
.ca-story-main h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,4.6vw,5rem);font-weight:400;letter-spacing:-.04em;line-height:1.08;margin:20px 0 26px}
.ca-story-main h1 em{color:var(--ca-coral);font-weight:400}
.ca-story-main>p{max-width:400px;color:#665954;line-height:1.7}
.ca-story-line{width:60px;height:4px;border-radius:10px;background:var(--ca-coral);margin-top:38px}
.ca-story-footer{font-weight:700;color:#9e7771;font-size:.73rem;letter-spacing:.15em}
.ca-login-panel{display:flex;align-items:center;justify-content:center;padding:36px 24px}
.ca-login-formwrap{width:100%;max-width:410px}
.ca-login-formwrap h2{font-family:Georgia,'Times New Roman',serif;font-size:2.1rem;font-weight:400;letter-spacing:-.03em;margin:10px 0}
.ca-subtle,.ca-login-footnote{color:var(--ca-muted);line-height:1.7}
.ca-login-footnote{font-size:.83rem;margin-top:24px}
.ca-form{display:flex;flex-direction:column;gap:12px;margin-top:26px}
.ca-form label{display:block;font-size:.87rem;font-weight:700;margin-bottom:6px;color:#403631}
.ca-form input:not([type='checkbox']){box-sizing:border-box;width:100%;border-radius:11px;border:1px solid #ded3ce;background:#fff;padding:13px 14px;color:#302b28;font-size:.96rem;min-height:45px}
.ca-form select{box-sizing:border-box;width:100%;border-radius:11px;border:1px solid #ded3ce;background:#fff;padding:13px 14px;color:#302b28;font:inherit;font-size:.96rem;min-height:45px;cursor:pointer}
.ca-form input:focus,.ca-form select:focus{outline:3px solid rgba(234,92,76,.16);border-color:var(--ca-coral)}
.ca-form small{display:block;font-weight:400;color:var(--ca-muted);margin-top:5px;font-size:.75rem}
.ca-check{display:flex!important;gap:8px;align-items:center;font-weight:400!important;color:var(--ca-muted)!important;margin:3px 0 8px}
.ca-check input{accent-color:var(--ca-coral)}
.ca-primary{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:11px;background:var(--ca-coral);color:#fff;padding:12px 21px;min-height:43px;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:0 9px 20px rgba(234,92,76,.18);font-size:.9rem}
.ca-primary:hover{background:var(--ca-coral-deep);color:#fff}
.ca-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ca-border);color:var(--ca-ink);background:#fff;border-radius:10px;padding:11px 17px;text-decoration:none;cursor:pointer;font-weight:650}
.ca-alert{padding:12px 16px;border-radius:11px;margin:16px 0;font-size:.9rem}
.ca-alert.error{border:1px solid #e9bcb7;background:#fff0ee;color:#973b31}
.ca-alert.success{border:1px solid #aad1b6;background:#f0faf2;color:#246d3f}
.ca-page{max-width:1200px;margin:auto;padding:12px 0 40px;color:var(--ca-ink)}
.ca-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.ca-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,3vw,2.8rem);font-weight:400;margin:6px 0}
.ca-heading p{color:var(--ca-muted);margin:0}
.ca-textlink{color:var(--ca-coral-deep);font-weight:700;text-decoration:none}
.ca-textlink:hover{text-decoration:underline}
.ca-card{background:#fff;border:1px solid var(--ca-border);border-radius:18px;padding:clamp(16px,2.5vw,28px);margin:18px 0;box-shadow:0 8px 36px rgba(59,36,24,.035)}
.ca-card-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;font-weight:400;margin:0 0 4px}
.ca-card-heading p{color:var(--ca-muted);margin:0 0 20px}
.ca-form.ca-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:16px}
.ca-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center;margin-top:5px}
.ca-search{display:flex;gap:10px;max-width:520px;margin:18px 0}
.ca-search input{flex:1;min-width:120px;padding:10px 12px;border:1px solid var(--ca-border);border-radius:9px}
.ca-table-scroll{width:100%;overflow:auto}
.ca-table{width:100%;border-collapse:collapse;font-size:.86rem;white-space:nowrap}
.ca-table th{background:#f9f2ed;text-align:left;font-size:.72rem;letter-spacing:.04em;color:#80716d;text-transform:uppercase;padding:13px 12px}
.ca-table td{padding:13px 12px;border-bottom:1px solid #f0e8e4}
.ca-table tr:hover td{background:#fffcf9}
.ca-role{color:#9a4d42;font-weight:700}
.ca-state{display:inline-block;padding:3px 10px;border-radius:100px;font-size:.77rem}
.ca-state.active{background:#e8f6ed;color:#247b45}
.ca-state.inactive{background:#f9e5e5;color:#9a4747}
.ca-row-actions{display:flex;align-items:center;gap:13px}
.ca-action-link{border:0;background:none;color:#276a46;font:inherit;cursor:pointer;padding:0;font-weight:700}
.ca-action-link.danger{color:#ac493b}
.ca-empty{text-align:center;color:var(--ca-muted);padding:25px!important}
.ca-pagination{margin-top:16px;font-size:.85rem}
.ca-topbar-user{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ca-topbar-user-name{font-size:.85rem;font-weight:700;color:inherit}
.ca-topbar-user-role{font-size:.72rem;opacity:.67}
.ca-logout{background:transparent;border:1px solid rgba(127,119,115,.25);border-radius:8px;padding:6px 12px;color:inherit;font:inherit;font-size:.78rem;cursor:pointer}
@media(max-width:850px){.ca-login-grid{grid-template-columns:1fr}.ca-login-story{min-height:205px;padding:20px 30px}.ca-story-main h1{font-size:2.2rem}.ca-story-main>p,.ca-story-line,.ca-story-footer{display:none}.ca-login-panel{padding:40px 22px}.ca-form.ca-grid{grid-template-columns:1fr}}
