@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@600&display=swap');
:root{--ink:#171815;--muted:#77786f;--paper:#f4f1e9;--card:#fff;--gold:#b89a58;--gold-dark:#826a34;--line:#ddd8cc;--green:#4b735a;--danger:#9b403d;--shadow:0 18px 50px rgba(31,28,20,.09)}
*{box-sizing:border-box} body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif}.hidden{display:none!important}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;color:var(--gold-dark)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",Georgia,serif}.hub-page{min-height:100vh;background:radial-gradient(circle at 90% 5%,rgba(184,154,88,.18),transparent 28%),#171815;color:#fff}.hub-shell{width:min(980px,calc(100% - 40px));min-height:100vh;margin:auto;padding:64px 0 32px;display:flex;flex-direction:column}.hub-header{display:flex;align-items:center;gap:18px}.brand-mark{width:62px;height:62px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;overflow:hidden}.brand-mark img{width:78px;height:44px;object-fit:contain}.hub-header h1{font-size:clamp(2rem,6vw,3.5rem);margin:3px 0}.hub-intro{color:#c4c3bc;margin:24px 0 42px}.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.tool-card{min-height:210px;padding:28px;border:1px solid #393a36;border-radius:20px;color:#fff;text-decoration:none;background:#22231f;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;transition:.2s transform,.2s border-color}.tool-card:hover{transform:translateY(-3px);border-color:var(--gold)}.tool-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:28px;background:#34352f}.tool-card.gold .tool-icon{color:#e5cb8e}.tool-card.green .tool-icon{color:#9bc0a6}.tool-card h2{font-size:1.5rem;margin-bottom:9px}.tool-card p{color:#c5c4bb;line-height:1.5;margin:0}.arrow{font-size:24px}.hub-shell footer{color:#aaa99f;text-align:center;margin-top:auto;padding-top:60px;font-size:.8rem}.app-header{height:96px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;gap:44px;background:#171815;color:#fff}.app-header .back{color:#bbb9b0;text-decoration:none;font-size:.86rem}.app-header h1{margin:2px 0;font-size:1.7rem}.app-shell{width:min(1180px,calc(100% - 32px));margin:36px auto 60px}.search-panel,.quote-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.search-panel{padding:24px;position:relative;z-index:2}.search-panel label{display:flex;justify-content:space-between;margin-bottom:10px}.search-panel label span{font-size:.78rem;color:var(--muted)}.search-wrap{position:relative}.search-wrap input{width:100%;height:52px;border:1px solid var(--line);border-radius:12px;padding:0 48px 0 16px;font-size:1rem;outline:none}.search-wrap input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,154,88,.13)}.search-wrap>span{position:absolute;right:18px;top:13px;font-size:24px;color:var(--muted)}.results{position:absolute;left:24px;right:24px;top:105px;max-height:355px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.15)}.result{width:100%;border:0;border-bottom:1px solid #eeeae1;background:white;padding:14px 16px;text-align:left;display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:12px;cursor:pointer}.result:hover{background:#faf7ef}.result-code{font-size:.72rem;font-weight:700;color:var(--gold-dark)}.result-name{font-size:.86rem}.result-cost{font-size:.8rem;color:var(--muted)}.quote-panel{margin-top:22px;padding:26px}.quote-title{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:18px}.quote-title h2{margin:4px 0 0}.text-button{border:0;background:none;color:var(--danger);cursor:pointer}.empty{text-align:center;padding:65px 15px;color:var(--muted)}.empty span{display:inline-grid;place-items:center;width:48px;height:48px;border:1px dashed var(--gold);border-radius:50%;color:var(--gold);font-size:25px}.empty h3{color:var(--ink);margin:14px 0 8px}.quote-item{display:grid;grid-template-columns:minmax(240px,2fr) 90px 125px 125px 140px 40px;gap:12px;align-items:end;padding:18px 0;border-bottom:1px solid #ece8df}.item-name strong{display:block;font-size:.92rem}.item-name span{font-size:.72rem;color:var(--gold-dark);font-weight:700}.field label{display:block;color:var(--muted);font-size:.67rem;margin-bottom:6px}.field input{width:100%;height:40px;border:1px solid var(--line);border-radius:8px;padding:0 9px;font-size:.85rem}.field input:focus{outline:2px solid rgba(184,154,88,.35);border-color:var(--gold)}.remove{height:40px;border:0;background:#f7eeee;color:var(--danger);border-radius:8px;cursor:pointer}.save-price{margin-top:6px;border:0;background:none;padding:0;color:var(--gold-dark);font-size:.68rem;text-decoration:underline;cursor:pointer}.summary{margin-top:24px;border-top:2px solid var(--ink);padding-top:20px}.internal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.internal-summary div{background:#f5f2ea;border-radius:10px;padding:14px}.internal-summary span,.patient-summary span{display:block;color:var(--muted);font-size:.74rem;margin-bottom:5px}.patient-summary{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:20px;border-radius:12px;background:#171815;color:white}.patient-summary span{color:#bbb9b0}.patient-summary strong{font-family:"Playfair Display";font-size:1.8rem;color:#e5cb8e}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.actions button{height:44px;padding:0 18px;border-radius:9px;font-weight:600;cursor:pointer}.primary{background:var(--gold);border:1px solid var(--gold);color:#181713}.secondary{background:#fff;border:1px solid var(--line)}.toast{position:fixed;right:24px;bottom:24px;background:#171815;color:#fff;padding:13px 18px;border-radius:9px;box-shadow:var(--shadow)}.print-only{display:none}
@media(max-width:800px){.hub-shell{padding-top:42px}.hub-grid{grid-template-columns:1fr}.tool-card{position:relative;min-height:156px;grid-template-columns:auto 1fr;align-items:start;padding:24px 48px 24px 22px;gap:16px}.tool-card h2{font-size:1.28rem;white-space:nowrap}.tool-card .arrow{position:absolute;right:19px;top:24px}.tool-card p{font-size:.9rem}.app-header{height:auto;padding:20px;align-items:flex-start;flex-direction:column;gap:12px}.app-shell{margin-top:18px}.quote-item{grid-template-columns:1fr 75px 1fr}.item-name{grid-column:1/-1}.quote-item .field:nth-of-type(4){grid-column:1/3}.remove{grid-column:3}.internal-summary{grid-template-columns:1fr}.search-panel label{display:block}.search-panel label span{display:block;margin-top:4px}.results{top:124px}.actions{flex-direction:column}.actions button{width:100%}}
@media print{body{background:#fff;font-size:11pt}.no-print,.toast{display:none!important}.print-only{display:block}.app-shell{width:100%;margin:0}.quote-panel{border:0;box-shadow:none;padding:0;display:flex;flex-direction:column}.items{order:2}.summary{order:3}.print-header{margin-bottom:26px;border-bottom:2px solid #222;padding-bottom:16px}.print-header h1{font-size:22pt;margin-bottom:6px}.print-header p{margin:3px 0}.quote-item{grid-template-columns:1fr 70px 100px 110px;padding:10px 0}.quote-item .field:nth-of-type(2),.quote-item .field:nth-of-type(3),.remove,.save-price{display:none}.quote-item .field input{border:0;padding:0;height:auto}.quote-item .field:nth-of-type(4) label{font-size:0}.quote-item .field:nth-of-type(4) label:after{content:'Preço unitário';font-size:9pt}.patient-summary{background:#fff;color:#000;border-top:2px solid #222;border-radius:0;padding:16px 0}.patient-summary span{color:#333}.patient-summary strong{color:#000}.print-footer{margin-top:40px;font-size:9pt;color:#555}}
