:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#2c2430;background:#fcf9fa}*{box-sizing:border-box}body{margin:0}header{padding:23px max(24px,calc((100vw - 1080px)/2));background:#211b27;color:white;display:flex;justify-content:space-between;align-items:center}.brand{font-size:25px;font-weight:900;letter-spacing:2px}.brand span{color:#efa8bd}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:1px;color:#f0d7df}.headright{font-size:10px;letter-spacing:1.2px;color:#f2dfe6;display:flex;align-items:center;gap:16px}main{max-width:1080px;margin:auto;padding:32px 24px 80px}.hero{padding:25px 0 34px;border-bottom:1px solid #eee4e8}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.5px;color:#a34b68}h1{font-size:clamp(38px,5vw,61px);line-height:1.08;letter-spacing:-2.2px;margin:17px 0}h1 em{font-style:normal;color:#a34b68}.hero p{max-width:560px;color:#685c65;font-size:17px;line-height:1.6}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.panel{padding:28px;border:1px solid #ebdfe5;border-radius:17px;background:#fff;box-shadow:0 9px 30px #32172509}.panel h2{font-size:24px;margin:0 0 8px}.panel p{color:#766b73;margin-top:0}label{display:block;font-size:13px;font-weight:700;color:#4f424c;margin:18px 0}input,select,textarea{display:block;width:100%;margin-top:7px;padding:13px;font:inherit;border:1px solid #ded1d8;border-radius:9px;background:#fff;color:#211b27}button{padding:12px 17px;border-radius:10px;border:1px solid #9b5470;background:white;color:#8b385b;font-weight:800;cursor:pointer}button.primary{background:#952e58;color:white;border-color:#952e58}button:disabled{opacity:.5;cursor:not-allowed}form button{width:100%;margin-top:7px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat{border-radius:12px;border:1px solid #eee0e7;background:#fff;padding:22px}.stat small{display:block;text-transform:uppercase;letter-spacing:1px;color:#806e79;font-size:11px}.stat strong{display:block;margin-top:10px;font-size:21px}.toprow{display:flex;justify-content:space-between;align-items:center;gap:15px}.doclist{list-style:none;padding:0}.doclist li{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #f3e8ed;gap:15px}.tag{padding:5px 9px;background:#f8e4eb;border-radius:20px;font-size:12px;color:#87435c}.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.muted{color:#776c75}.alert{border-radius:12px;padding:15px;background:#fbf0e7;color:#784324;margin-top:14px}.notice{border-radius:12px;padding:12px;margin:16px 0;background:#f5e5ec;color:#682a47}#notice:empty{display:none}table{border-collapse:collapse;width:100%;text-align:left}td,th{padding:13px;border-bottom:1px solid #eee4e8;font-size:13px}td button{padding:7px}footer{text-align:center;color:#756a71;background:#f3edf0;padding:24px;font-size:12px}@media(max-width:700px){.columns,.grid2,.stats{grid-template-columns:1fr}.headright{font-size:0}.toprow{align-items:flex-start;flex-direction:column}header{padding:20px}}

/* FemmeVet workspace refinement */
[hidden]{display:none!important}
body{background:#f7f3f6;color:#302332;font-family:Segoe UI,Arial,sans-serif}
h1,h2,h3{letter-spacing:-.025em}
.panel{border:1px solid #eadde5;border-radius:20px;
box-shadow:0 8px 28px rgba(70,25,50,.05);padding:28px}
.primary{background:#922c59;color:white;border:0;border-radius:12px;
padding:14px 20px;font-weight:700;cursor:pointer}
.primary:hover{background:#762047}
button:disabled{opacity:.6;cursor:wait}
input,select,textarea{box-sizing:border-box;border-radius:10px}
.tag{background:#f6e5ee;color:#792448;border-radius:999px;padding:7px 12px}
.stats{gap:18px}
.stat{background:white;border:1px solid #eadde5;border-radius:16px;padding:22px}
.doclist li{padding:14px 0;border-bottom:1px solid #eee4ea}
input[type=file]{background:#fcf7fa;padding:18px;border:1px dashed #b47794}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:15px;border-bottom:1px solid #eee4ea}
.notice{border-radius:12px;padding:14px;background:#f5e6ef}
@media(max-width:720px){.grid2,.stats{grid-template-columns:1fr}.panel{padding:20px}}

.recovery-link{display:block;margin-top:14px;background:none;
border:0;color:#922c59;text-decoration:underline;cursor:pointer}
#forgot-password input,#reset-password input{width:100%}


/* FemmeVet navy and emerald design */
:root{
 --fv-navy:#142b45;
 --fv-emerald:#006b54;
 --fv-gold:#b77e70;
 --fv-text:#182e43;
 --fv-muted:#506174;
 --fv-line:#d6e0e8;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{
 margin:0;background:#eef3f6;color:var(--fv-text);
 font-family:"Segoe UI",Arial,sans-serif;font-size:16px;
 line-height:1.65;min-height:100vh;
}
main,.container,.wrap{
 width:min(1200px,calc(100% - 40px));margin-inline:auto;
}
header{
 background:var(--fv-navy);color:white;
 border-bottom:3px solid var(--fv-gold);padding:24px;
}
header h1,header h2,header p,header .muted,
header .brand,header .brand strong,header a{color:white}
h1,h2,h3{
 color:var(--fv-navy);line-height:1.3;
 letter-spacing:-.02em;height:auto;
 white-space:normal;overflow:visible;
}
h1{font-size:clamp(30px,4vw,44px)}
h2{font-size:clamp(23px,2.5vw,30px)}
h3{font-size:20px}
p{margin:12px 0;overflow-wrap:anywhere}
.muted{color:var(--fv-muted)}
#entry,#dashboard{margin:30px 0 48px}
.toprow{
 display:flex;justify-content:space-between;align-items:center;
 gap:20px;margin-bottom:24px;
}
.toprow>div{min-width:0}
.toprow h2{margin:0 0 8px}
.grid2{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:24px;align-items:start;
}
.panel{
 background:white;color:var(--fv-text);
 border:1px solid var(--fv-line);
 border-top:3px solid var(--fv-emerald);
 border-radius:14px;padding:28px;
 box-shadow:0 8px 24px rgba(20,43,69,.05);
 min-width:0;height:auto;max-height:none;overflow:visible;
}
.panel h2:first-child{margin-top:0}
.panel:has(table){overflow-x:auto}
.stats{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:18px;margin:24px 0;
}
.stat{
 background:var(--fv-navy);color:white;
 border:1px solid var(--fv-navy);
 border-left:4px solid var(--fv-gold);
 border-radius:12px;padding:22px;min-width:0;
 height:auto;overflow:visible;
}
.stat small{
 display:block;color:#e1eaf2;font-size:12px;
 font-weight:650;letter-spacing:.06em;text-transform:uppercase;
 white-space:normal;
}
.stat strong{
 display:block;color:white;font-size:23px;
 line-height:1.4;margin-top:8px;
 white-space:normal;overflow-wrap:anywhere;
}
label{
 display:block;color:var(--fv-text);
 font-weight:650;margin:18px 0;
 white-space:normal;height:auto;
}
label small{display:block;color:var(--fv-muted);font-weight:400}
input,select,textarea{
 display:block;width:100%;margin-top:8px;
 background:white;color:var(--fv-text);
 border:1px solid #aebfcd;border-radius:8px;
 padding:13px 15px;font:inherit;font-size:16px;
 height:auto;min-height:48px;
}
input::placeholder{color:#627487;opacity:1}
input:focus,select:focus,textarea:focus{
 outline:3px solid rgba(0,107,84,.15);
 border-color:var(--fv-emerald);
}
input[type=file]{
 background:#eff8f4;border:1px dashed #5b9b87;
 padding:20px;white-space:normal;
}
input[type=file]::file-selector-button{
 background:var(--fv-emerald);color:white;border:0;
 border-radius:6px;padding:10px 12px;margin-right:12px;
 font-weight:650;cursor:pointer;
}
button,.donation-button{
 display:inline-block;font:inherit;font-weight:650;
 background:white;color:var(--fv-navy);
 border:1px solid #9eb1c0;border-radius:8px;
 padding:11px 16px;cursor:pointer;
 white-space:normal;overflow:visible;
 height:auto;min-height:44px;line-height:1.5;
}
button:hover{background:#edf3f7}
.primary,button[data-approve="true"]{
 background:var(--fv-emerald);color:white;
 border-color:var(--fv-emerald);padding:13px 20px;
}
.primary:hover,button[data-approve="true"]:hover{
 background:#00533f;border-color:#00533f;color:white;
}
button:disabled{opacity:.65;cursor:wait}
form>.primary{width:100%;margin-top:10px}
a{color:var(--fv-emerald)}
a.primary{color:white;text-decoration:none}
button:focus-visible,a:focus-visible{
 outline:3px solid var(--fv-gold);outline-offset:3px;
}
.tag{
 display:inline-flex;align-items:center;
 background:#e6f3ed;color:#07523e;
 border:1px solid #b8d8ca;border-radius:7px;
 padding:7px 11px;font-size:13px;font-weight:650;
 white-space:normal;line-height:1.4;height:auto;
}
.doclist{list-style:none;margin:20px 0;padding:0}
.doclist li{
 display:flex;justify-content:space-between;align-items:center;
 flex-wrap:wrap;gap:12px;padding:15px 0;
 border-bottom:1px solid var(--fv-line);
 white-space:normal;height:auto;overflow:visible;
 overflow-wrap:anywhere;
}
.doclist li>span:first-child{flex:1 1 180px;min-width:0}
.doclist button{flex-shrink:0}
.alert,.notice{
 background:#eef6f2;color:#174b3b;
 border:1px solid #b8d6c8;border-left:4px solid var(--fv-gold);
 border-radius:8px;padding:16px 20px;
 white-space:normal;height:auto;overflow:visible;
}
#notice:empty{display:none}
table{
 width:100%;min-width:650px;border-collapse:collapse;
 color:var(--fv-text);font-size:14px;table-layout:auto;
}
th{
 background:var(--fv-navy);color:white;text-align:left;
 padding:15px 12px;font-size:12px;letter-spacing:.04em;
 white-space:normal;
}
td{
 padding:17px 12px;border-bottom:1px solid var(--fv-line);
 vertical-align:middle;white-space:normal;
 overflow:visible;text-overflow:clip;
}
td .muted{overflow-wrap:anywhere}
tbody tr:hover{background:#f1f7f4}
td button{margin:5px 5px 5px 0;font-size:13px}
td .tag{margin:5px 8px 5px 0}
.recovery-link{
 display:block;background:none!important;color:var(--fv-emerald);
 border:0;padding:8px 0;box-shadow:none;text-decoration:underline;
}
footer{color:var(--fv-muted);padding:24px;font-size:13px}
@media(max-width:780px){
 main,.container,.wrap{width:calc(100% - 28px)}
 .grid2,.stats{grid-template-columns:1fr}
 .panel{padding:21px}
 .toprow{align-items:flex-start;flex-direction:column;gap:12px}
 header{padding:20px}
}

header .fv-logo{
 width:150px;height:150px;object-fit:contain;
 background:white;padding:0;border:0;border-radius:8px;
}
@media(max-width:600px){
 header .fv-logo{width:110px;height:110px}
}

header{
 position:relative;min-height:172px;
 padding-left:188px!important;
}
header>.fv-logo{
 display:block!important;position:absolute;
 left:24px;top:50%;transform:translateY(-50%);
 width:140px;height:140px;max-width:none;
 object-fit:contain;background:white;
 border:1px solid #b77e70;border-radius:10px;
 padding:0;margin:0;float:none;
}
header .brand .mark{display:none}
@media(max-width:650px){
 header{padding-left:116px!important;min-height:130px}
 header>.fv-logo{left:14px;width:88px;height:88px}
}

header .fv-name-femme{color:#d2a324!important}
header .fv-name-vet{color:#a51e26!important}
header:has(.fv-name-femme){background:#f8fafb;color:#142b45}
header h1,header h2,header p,header .muted,
header .brand,header .brand strong,header a{color:#142b45}
header .brand{font-family:Georgia,"Times New Roman",serif}
header .brand strong,header h1{text-transform:none;letter-spacing:0}
header .brand small,header .brand p{color:#506174!important}
