:root{--bg:#fffdf7;--panel:#fff;--ink:#292719;--muted:#736f5c;--line:#ebdfba;--gold:#f4c34e;--honey:#a26a0d;--pale:#fff4c8;--danger:#b94334;--green:#187457;--shadow:0 12px 36px #75551b12;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:14px;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 87% 2%,#ffe7a0 0,transparent 31%),linear-gradient(150deg,#fffdf7,#faf8ee);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--honey)}.layout{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:linear-gradient(168deg,#f9df88,#f6c34d 54%,#e6a81d);border-right:1px solid #d8af53;padding:22px 14px;display:flex;flex-direction:column;gap:15px}.brand{display:flex;align-items:center;gap:12px;padding:8px 9px 17px;border-bottom:1px solid #b786324d}.brand img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 4px 5px #996b2933)}.brand strong{font-size:18px;display:block;letter-spacing:-.5px}.brand small{display:block;color:#67521c;font-size:12px;margin-top:3px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{background:transparent;border:none;text-align:left;padding:12px 14px;border-radius:11px;color:#503e17;font-weight:650;display:flex;gap:12px;align-items:center}.nav button.active{background:#fff9e8;border:1px solid #fff;box-shadow:0 6px 16px #99600b1c}.side-foot{margin-top:auto;color:#6d551f;font-size:10px;text-align:right;padding:6px}.main{min-width:0}.topbar{padding:18px clamp(14px,3.2vw,42px);border-bottom:1px solid var(--line);background:#ffffffb3;display:flex;align-items:center;justify-content:space-between;gap:10px}.topbar h1{font-size:22px;letter-spacing:-.5px;margin:0}.topbar small{color:var(--muted)}.topbar-right{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.content{padding:27px clamp(14px,3.2vw,42px) 55px;max-width:1500px;margin:auto}.head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}.head h2{font-size:23px;margin:0}.head p{margin:5px 0;color:var(--muted)}.btn{border:1px solid #e3c777;background:white;border-radius:10px;padding:10px 15px;font-weight:650;color:var(--ink);display:inline-flex;align-items:center;gap:6px;justify-content:center;text-decoration:none}.btn.primary{background:linear-gradient(125deg,#ffdc77,#f3b923);border-color:#e5ab29;box-shadow:0 5px 13px #f8cb4f3b}.btn.danger{color:var(--danger);border-color:#e8b5ae}.btn.sm{padding:6px 9px;font-size:12px}.btn:focus-visible,.nav button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d8ab36;outline-offset:2px}.btn:hover:not(:disabled){filter:brightness(.98)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);margin-bottom:19px}.panel h3{margin:0 0 15px;font-size:17px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat{border:1px solid var(--line);background:#fffefa;border-radius:15px;padding:20px;min-width:0}.stat small{color:var(--muted);display:block}.stat strong{display:block;font-size:clamp(18px,2vw,26px);margin-top:9px;overflow-wrap:anywhere}.stat.gold{background:linear-gradient(130deg,#fff2c5,#ffdd83)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.space{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:12px}.text-danger{color:var(--danger)}.text-ok{color:var(--green)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.data-table{border-collapse:collapse;width:100%;min-width:640px;background:#fff}.data-table th{background:#fff8e3;color:#5e4b20;font-size:12px;text-transform:uppercase;text-align:left;letter-spacing:.03em}.data-table td,.data-table th{border-bottom:1px solid #eee6d3;padding:12px 11px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fffefa}.amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.pill{display:inline-flex;background:#f5eee0;border-radius:20px;padding:4px 8px;font-size:11px;font-weight:750}.pill.ok{color:var(--green);background:#e8f7f0}.pill.due{color:#9b4d1e;background:#fff0de}.pill.late{color:#a52f29;background:#ffe9e5}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:12px;font-weight:750;color:#62552e}.field input,.field select,.field textarea,.search{background:#fff;border:1px solid #dcd1b8;border-radius:9px;padding:11px 12px;min-height:40px;width:100%;color:var(--ink)}.field textarea{resize:vertical;min-height:72px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .full{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px;flex-wrap:wrap}.overlay{position:fixed;inset:0;background:#201b13a3;z-index:200;display:flex;align-items:center;justify-content:center;padding:14px}.modal{background:#fffefa;width:min(940px,100%);max-height:min(92vh,1050px);display:flex;flex-direction:column;border:1px solid #e7d6a5;border-radius:18px;box-shadow:0 20px 75px #110c033d}.modalhead{padding:20px 22px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modalhead h2{margin:0;font-size:20px}.modalbody{padding:20px 22px;overflow:auto}.modalfoot{padding:15px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.subheading{font-size:14px;font-weight:800;margin:22px 0 10px;padding-bottom:7px;border-bottom:1px solid var(--line)}.empty{padding:35px;text-align:center;color:var(--muted)}.login-bg{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;background:radial-gradient(circle at 77% 20%,#ffdd7c,transparent 48%),linear-gradient(145deg,#fffefa,#ffeab6)}.login-card{max-width:430px;width:100%;background:#fff;border:1px solid #efd49a;border-radius:22px;padding:31px;box-shadow:0 20px 70px #91681d25}.login-brand{text-align:center}.login-brand img{width:95px;height:95px;object-fit:contain}.login-brand h1{font-size:25px;margin:7px 0 2px}.login-brand p{color:var(--muted);margin:4px 0 24px}.message{background:#fff2d7;border:1px solid #e4c881;border-radius:10px;padding:12px;margin-bottom:15px;line-height:1.5}.message.error{background:#fff0ef;color:#8d2821;border-color:#e7b6b0}.toast{position:fixed;z-index:300;right:20px;bottom:20px;background:#263627;color:white;border-radius:12px;padding:13px 19px;box-shadow:0 10px 35px #0003;max-width:min(420px,94%)}.toast.error{background:#8f2824}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.check{border:1px solid var(--line);padding:8px;border-radius:9px;display:flex;align-items:center;gap:7px}.check input{accent-color:#c78a0e}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar .search{max-width:380px}.inline-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.mini-list{display:grid;gap:6px}.mini-row{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid #eee8d9;padding:9px 4px}.prescription-table td,.prescription-table th{border:1px solid #ddd4c6;padding:8px}.prescription-table{border-collapse:collapse;width:100%;text-align:center}.notice{font-size:12px;color:#7a5620;background:#fff9e3;border-left:3px solid #efbc36;padding:11px}.file-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:740px){.layout{display:block}.side{position:relative;padding:9px 12px;gap:5px}.brand{padding:3px 4px 8px;border:none}.brand img{width:42px;height:42px}.brand strong{font-size:16px}.nav{flex-direction:row;overflow:auto;scrollbar-width:thin;padding-bottom:4px}.nav button{white-space:nowrap;font-size:12px;padding:9px 10px}.side-foot{display:none}.topbar{padding:12px 15px}.topbar h1{font-size:18px}.content{padding:17px 12px 35px}.form-grid,.grid3,.checks{grid-template-columns:1fr}.modalbody{padding:15px}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:20px}}@media print{body{background:#fff}.layout,.overlay,.toast{display:none!important}}

/* Recuperação de acesso */
.link-button{color:#845900;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;font-weight:650;padding:7px 10px}.link-button:focus-visible{outline:3px solid #e1ac2d;border-radius:5px}
.reset-tip{font-size:12px;color:#716447;line-height:1.5;margin-top:12px}.reset-feedback{margin-top:10px}
