*{box-sizing:border-box}body{margin:0;background:#f6f7fb;color:#17213b;font:15px/1.6 system-ui,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:248px;background:#111a32;color:#d6dcec;padding:34px 25px}.brand{color:white;text-decoration:none;display:flex;align-items:center;gap:12px;font-size:28px;letter-spacing:-1px}.brand>span{font-size:22px}.brand strong{font-weight:400;color:#b4a2ff}.eyebrow{font-size:10px;letter-spacing:2px;color:#7987a7;margin:58px 0 18px}nav button{display:block;width:100%;text-align:left;background:transparent;color:#b8c4de;border:0;margin:6px 0;padding:12px;border-radius:8px}nav button.active{background:#302e61;color:white}.aside-bottom{position:absolute;bottom:30px;left:25px;font-size:12px;color:#95a1bb}.aside-bottom small{font-size:10px;color:#6d7c9d}main{margin-left:248px;padding:0 50px}header{height:92px;border-bottom:1px solid #e1e5ef;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#69758c}h1{font-size:40px;letter-spacing:-1.6px;line-height:1.18;margin:22px 0 16px}h2{font-size:22px;letter-spacing:-.6px;margin:0 0 10px}p{color:#6a758b}.hero{padding:60px 0 35px}.pill{background:#eae6ff;color:#6b4ecb;border-radius:20px;padding:7px 13px;font-size:10px;letter-spacing:1.5px;font-weight:700}.chips{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin:28px 0}.chips span{border:1px solid #dce0ed;border-radius:20px;padding:6px 12px}.login-card,.card{background:white;border:1px solid #e4e7f0;border-radius:14px;padding:28px;margin:20px 0}.login-card{max-width:480px}label{display:block;font-size:12px;font-weight:600;color:#65708a;margin-bottom:17px}input,select{display:block;width:100%;border:1px solid #dce1ed;background:#fafbfe;border-radius:7px;padding:12px;margin-top:5px;font:inherit;color:#17213b}button{cursor:pointer;border:1px solid #dde2ed;background:white;padding:10px 17px;border-radius:7px;font:inherit;color:#526078}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #af9cff;outline-offset:2px}.primary{background:#6750e8;color:white;border-color:#6750e8}form .primary{width:100%}.muted{font-size:12px;color:#8791a5}.page-heading{display:flex;justify-content:space-between;align-items:center;padding-top:36px}.page-heading h1{font-size:30px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.stats .card{margin:0}.stats small{color:#7d879a;font-size:11px;text-transform:uppercase;letter-spacing:1px}.stats strong{display:block;font-size:32px;margin:12px 0}.stats p{font-size:12px;margin:0}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#8992a4}td,th{padding:17px 12px;border-bottom:1px solid #edf0f6}td{font-size:13px}.table-wrap{overflow:auto}.badge{display:inline-block;background:#efecff;color:#6951c7;font-size:11px;border-radius:20px;padding:4px 10px}.empty{text-align:center;padding:35px;color:#8791a5}#notice{color:#6650c1;min-height:24px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}footer{display:flex;justify-content:space-between;border-top:1px solid #e0e4ee;padding:24px 0;margin-top:40px;font-size:11px;color:#8b94a6}.tenant-picker{max-width:360px}.banner{background:#ece9fc;border-radius:10px;padding:16px 22px;margin-top:30px;color:#6a58a1;font-size:13px}@media(min-width:1200px){#content:has(.hero){display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;min-height:650px}}@media(max-width:850px){aside{position:relative;width:auto;padding:18px 22px}.eyebrow,.aside-bottom{display:none}nav{display:flex;gap:6px;overflow:auto}nav button{white-space:nowrap;width:auto;font-size:12px}main{margin:0;padding:0 22px}header{height:65px}.stats,.split{grid-template-columns:1fr}h1{font-size:34px}footer{gap:15px}.hero{padding-top:35px}}

.visit-card{padding:20px 0;border-top:1px solid #edf0f6}.visit-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.visit-title h3{font-size:16px;margin:0}.visit-card p{font-size:12px;margin:8px 0}.visit-card .chips{margin:12px 0 0}.visit-card button{font-size:12px}
textarea{display:block;width:100%;min-height:90px;border:1px solid #dce1ed;background:#fafbfe;border-radius:7px;padding:12px;margin-top:5px;font:inherit;color:#17213b;resize:vertical}textarea:focus-visible{outline:3px solid #af9cff;outline-offset:2px}

:root{--brand-color:#6750e8;--brand-ink:#ffffff}.primary,nav button.active{background:var(--brand-color);border-color:var(--brand-color);color:var(--brand-ink)}

/* Fichas e agenda Pet: cartões suaves, preservando a identidade escolhida pela empresa. */
.visit-card{border-radius:20px;border:1px solid #e8dff0;border-top:4px solid #b696d7;background:#fcf9ff;box-shadow:0 4px 18px #6b3d8b09;padding:22px;overflow-wrap:anywhere}.visit-card:nth-of-type(even){background:#fff8fc;border-color:#eedce7;border-top-color:#daa5c6}.visit-card h3{color:#513566}.visit-card .badge{background:#ede1f7;color:#63378b;border-radius:10px}

.pet-photo-box{margin:12px 0}.pet-photo{display:block;width:120px;height:120px;object-fit:cover;border-radius:18px;margin:8px 0}.pet-photo[hidden]{display:none}.pet-photo-box input[type=file]{max-width:100%;margin:8px 0}.pet-photo-box label{display:block;margin-top:10px}

/* Navegação funcional em cinco áreas; mantém a identidade existente. */
#company-navigation{display:grid;grid-template-columns:repeat(var(--navigation-count,5),minmax(0,1fr));gap:6px;margin:18px 0 0;padding:6px;border:1px solid #e1e5ef;border-radius:12px;background:#fff}
#company-navigation button{display:flex;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:48px;margin:0;padding:10px 5px;text-align:center;color:#526078;font-size:13px;line-height:1.2}
#company-navigation button.active{color:var(--brand-ink);background:var(--brand-color)}#company-navigation .navigation-icon{font-size:19px;line-height:1}
@media(max-width:850px){body.has-company-navigation main{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}#company-navigation{position:fixed;bottom:0;left:0;right:0;z-index:50;margin:0;border-radius:16px 16px 0 0;padding:7px 5px calc(7px + env(safe-area-inset-bottom,0px));box-shadow:0 -3px 16px #17213b16}#company-navigation button{flex-direction:column;font-size:11px;gap:4px;padding:7px 2px;min-height:54px}body.has-company-navigation aside{padding:10px 18px}body.has-company-navigation aside .brand{font-size:23px}body.has-company-navigation #nav button{min-height:38px;padding:8px}}

.help-topic{background:#fff;border:1px solid #e1e5ef;border-radius:12px;padding:18px;margin:14px 0}.help-topic summary{min-height:44px;cursor:pointer;font-weight:650}.help-topic p,.help-topic li{overflow-wrap:anywhere}.help-topic li+li{margin-top:8px}

.hours-period{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.hours-period label{min-width:0}.hours-period input{width:100%;min-width:0;box-sizing:border-box}fieldset.card{min-width:0}fieldset.card legend{font-weight:700;padding:0 8px}

button.availability-slot{min-height:48px;font-size:16px;cursor:pointer}button.availability-slot:focus-visible{outline:3px solid var(--brand-color);outline-offset:3px}

.date-exception-form label[hidden]{display:none!important}

.expense-panel{margin:20px 0;padding:18px;border:1px solid #ddd6ed;border-radius:18px;background:white}.expense-panel>summary{font-weight:700;cursor:pointer}.expense-panel label[hidden]{display:none!important}.expense-record{margin:12px 0;padding:12px;border:1px solid #ddd6ed;border-radius:12px}.expense-record>summary{cursor:pointer;overflow-wrap:anywhere}

.finance-analysis{margin:20px 0;padding:18px;border:1px solid #ddd6ed;border-radius:18px;background:white}.finance-analysis>summary{font-weight:700;cursor:pointer}.finance-daily{max-height:360px;overflow:auto;max-width:100%}.finance-analysis table{width:100%;border-collapse:collapse}.finance-analysis th,.finance-analysis td{text-align:left;padding:10px;border-bottom:1px solid #e8dfef}.finance-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
