:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#213e37;background:#f5f6f2;font-synthesis:none;--green:#143e36;--muted:#73827c;--line:#e0e6df;--accent:#d9f074}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;border:0;border-radius:9px;padding:11px 17px;background:var(--green);color:white;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}button:hover,.button:hover{filter:brightness(1.12)}button:disabled{opacity:.55;cursor:wait}button.secondary,.button.secondary{background:#edf1e8;color:var(--green);border:1px solid var(--line)}button.danger{color:#9e3434;background:#fff0ef}button.link{background:transparent;color:var(--green);padding:6px}button:focus-visible,a:focus-visible{outline:3px solid #77ae88;outline-offset:3px}input,select,textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #d4ddd5;background:white;color:#213e37;border-radius:8px;outline:none;font-size:16px}input:focus,select:focus,textarea:focus{border-color:#268677;box-shadow:0 0 0 3px #26867716}input[type=checkbox]{width:auto;accent-color:var(--green)}textarea{resize:vertical;min-height:80px}label{display:grid;gap:7px;font-size:13px;font-weight:600}label.check{display:flex;align-items:center;align-self:end;padding:12px 0}small,.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:8px}h2{font-size:21px}h3{font-size:16px}p{line-height:1.55}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{padding:30px 20px;background:var(--green);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:750;margin-bottom:42px}.brand img{width:39px;height:39px}.brand small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#abc4b9;margin-top:3px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{justify-content:flex-start;background:transparent;color:#bfcec6;font-size:14px;font-weight:500}.sidebar nav button.active{background:#2b5348;color:var(--accent)}.sidebar footer{margin-top:auto;border-top:1px solid #ffffff22;padding-top:22px;font-size:12px}.sidebar footer p{color:#c4d5ce;margin:8px 0}.workspace{min-width:0}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fafbf8;gap:10px}.topbar strong{font-size:13px;font-weight:600}.avatar{width:32px;height:32px;display:inline-grid;place-items:center;background:#e4ebd8;border-radius:50%;margin-right:8px}main{padding:34px 36px;max-width:1500px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px}.page-title p{color:var(--muted);font-size:14px;margin:0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#7d9260;margin-bottom:12px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}.stat{padding:22px;background:white;border:1px solid var(--line);border-radius:13px}.stat small{display:block;margin-bottom:16px}.stat strong{display:block;font-size:28px;letter-spacing:-.8px}.stat.featured{background:var(--green);color:white}.stat.featured small{color:#c2d4b4}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:20px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.card-heading h2{margin:0}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.toolbar input{max-width:340px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:600;background:#f7f9f5}th,td{padding:15px 12px;border-bottom:1px solid #edf0e9;vertical-align:middle}td strong{font-weight:600}td small{display:block;margin-top:5px}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions button,.actions a{font-size:12px;padding:8px 10px}.badge{display:inline-block;font-size:11px;font-weight:650;border-radius:20px;padding:6px 10px;background:#f3f0d9;color:#8a751e}.badge.aprovado,.badge.concluido,.badge.pago{background:#e3f1e7;color:#267149}.badge.cancelado,.badge.despesa{background:#f9e9e4;color:#a04e37}.badge.em_andamento{background:#e5edf7;color:#426690}.empty{text-align:center;padding:40px 10px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.hint{font-size:12px;color:var(--muted);line-height:1.6}.calc{padding:18px;background:#eef4e5;border:1px solid #dce8cf;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:16px}.calc strong{font-size:23px}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-aside{background:var(--green);color:white;padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}.auth-aside h1{font-size:46px;line-height:1.15;margin:25px 0}.auth-aside h1 span{color:var(--accent)}.auth-aside p{color:#bacec1;max-width:380px}.auth-main{display:flex;align-items:center;justify-content:center;padding:32px}.auth-form{width:100%;max-width:510px}.auth-form form{display:grid;gap:18px;margin-top:30px}.auth-form .brand{display:none}.auth-form .grid{gap:12px}.auth-form h2{font-size:28px}.error{background:#fff0ee;color:#9e3434;padding:12px;border-radius:8px;font-size:13px}.online{font-size:11px;color:#77916a}.online.offline{color:#b05937}#notice{position:fixed;right:20px;top:18px;max-width:calc(100% - 40px);padding:14px 20px;background:var(--green);color:white;border-radius:10px;z-index:50;box-shadow:0 7px 30px #0002;display:none}#notice.visible{display:block}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:min(780px,calc(100% - 28px));max-height:90vh;color:#213e37}dialog::backdrop{background:#102b2570;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-head h2{margin:0}.budget-line{display:grid;grid-template-columns:2fr .65fr .65fr 1fr auto;gap:10px;align-items:end;background:#f6f8f3;border-radius:10px;padding:14px;margin:12px 0}.budget-line .line-extra{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.budget-line input,.budget-line select{font-size:14px}.logo-preview{max-width:150px;max-height:75px;object-fit:contain}.detail-total{text-align:right;margin-top:25px}.install{margin-top:18px;background:var(--accent);color:var(--green)}.mobile-only{display:none}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat.positive strong{color:#267149}.stat.negative strong{color:#a04e37}.period-toggle{gap:6px}.period-toggle button{background:#edf1e8;color:var(--green);padding:8px 16px;font-size:13px}.period-toggle button.active{background:var(--green);color:white}.client-picker{display:flex;gap:8px;align-items:end}.client-picker label{flex:1}.client-picker button{white-space:nowrap}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:72px}.password-toggle{position:absolute;right:2px;top:2px;bottom:2px;padding:0 10px;font-size:12px;background:transparent}.agenda-day{margin-bottom:16px}.agenda-day-head{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid var(--line)}.agenda-day.today .agenda-day-head{color:var(--green)}.agenda-line{display:flex;gap:8px;align-items:center;width:100%;text-align:left;background:transparent;color:#213e37;padding:9px 6px;border-radius:8px;font-weight:500;font-size:13px}.agenda-line:hover{background:#f2f5ef}.agenda-line small{color:var(--muted);margin-left:2px;font-weight:400}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:700;margin-bottom:6px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-cell{position:relative;aspect-ratio:1;background:#f7f9f5;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#213e37}.cal-cell.muted-month{opacity:.35}.cal-cell.today{border-color:var(--green);border-width:2px;background:#eef4e5}.cal-num{font-size:13px;font-weight:600}.cal-dot{font-size:9px;background:var(--green);color:#fff;border-radius:10px;padding:1px 6px;position:absolute;bottom:5px}
@media(max-width:950px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:25px 14px}main{padding:25px 20px}.topbar{padding:0 20px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:23px}}
@media(max-width:680px){.shell{display:block}.sidebar{height:auto;position:static;padding:15px}.sidebar .brand{margin-bottom:15px;font-size:19px}.sidebar nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:4px}.sidebar nav button{white-space:nowrap;padding:9px 12px;font-size:12px}.sidebar footer{display:none}.topbar{height:56px;padding:0 18px}.topbar strong{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-only{display:inline-flex}main{padding:23px 16px}h1{font-size:25px}.page-title{align-items:flex-start;flex-wrap:wrap}.page-title button{font-size:13px}.stats{grid-template-columns:1fr;gap:10px}.stat{display:flex;justify-content:space-between;align-items:center;padding:17px}.stat small{margin:0}.card{padding:16px}.grid{grid-template-columns:1fr}.full{grid-column:auto}.auth{display:block}.auth-aside{display:none}.auth-main{min-height:100vh;padding:28px 22px}.auth-form .brand{display:flex;margin-bottom:35px}.auth-form .brand small{color:var(--muted)}.budget-line{grid-template-columns:1fr 1fr}.budget-line>label:first-child{grid-column:1/-1}.budget-line .line-extra{grid-template-columns:1fr}dialog{padding:19px}.responsive thead{display:none}.responsive table,.responsive tbody,.responsive tr,.responsive td{display:block;width:100%}.responsive tr{border-bottom:1px solid var(--line);padding:10px 0}.responsive td{border:0;padding:7px 0;overflow-wrap:anywhere}.responsive td:before{content:attr(data-label);font-size:11px;color:var(--muted);display:block;margin-bottom:4px}.responsive .actions{gap:8px}.form-actions{flex-wrap:wrap}.calc{flex-wrap:wrap}.topbar .online{display:none}.cal-grid{gap:3px}.cal-num{font-size:11px}.cal-dot{font-size:8px;padding:0 4px;bottom:3px}.cal-weekdays{font-size:9px}.client-picker{flex-wrap:wrap}}
[hidden]{display:none!important}

