:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#293c35;background:#f6f7f3;font-synthesis:none;--green:#294c3f;--muted:#768078;--line:#e5e8e0;--white:#fff;--sage:#e6ede5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a78349;outline-offset:4px}button{border:0;background:none;color:inherit}.skip{position:fixed;top:-100px;left:20px;z-index:20;padding:14px;background:white}.skip:focus{top:10px}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:38px 23px 25px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 13px;margin-bottom:49px}.brand-mark{background:var(--green);color:#ecedda;border-radius:13px;width:40px;height:43px;display:grid;place-items:center;font:italic 28px Georgia}.brand strong{font:29px Georgia;letter-spacing:-1px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px;color:var(--muted)}.nav-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--muted);text-transform:uppercase}.nav-label{padding:0 15px;margin-bottom:15px}.nav{display:grid;gap:8px}.nav a{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:9px;color:#718077;font-size:14px}.nav a:hover{background:#f6f7f3}.nav a.active{background:var(--green);color:white}.count{margin-left:auto;border-radius:6px;background:#ffffff28;padding:3px 7px;font-size:11px}.sidebar-bottom{margin-top:auto}.demo-box{background:#f6f7f1;border:1px solid var(--line);border-radius:12px;padding:17px 14px;font-size:12px;line-height:1.6}.demo-box strong{display:flex;gap:8px;align-items:center;font-size:12px}.dot{width:6px;height:6px;background:#acb078;border-radius:50%;display:inline-block}.demo-box p{color:var(--muted);margin:7px 0 0}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:23px 0 0;margin-top:24px;font-size:12px}.avatar{height:40px;width:40px;display:grid;place-items:center;border-radius:50%;background:#eee8dc;color:#7d7058;font-size:12px;flex-shrink:0}.profile small{display:block;margin-top:4px;color:var(--muted)}.workspace{min-width:0}.topbar{height:83px;padding:0 46px;border-bottom:1px solid var(--line);background:#ffffffa8;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.topbar .crumb{display:flex;align-items:center;gap:12px}.topbar .crumb strong{color:#3c4c43;font-weight:500}.topbar-right{display:flex;align-items:center;gap:22px}.pill{display:inline-flex;align-items:center;gap:7px;background:#edf1e9;color:#66774e;border-radius:20px;padding:7px 10px;font-size:10px;font-weight:600}.main{max-width:1440px;margin:auto;padding:39px 46px 26px}h1,h2,h3,p{margin-top:0}h1{font:36px Georgia;margin-bottom:10px;letter-spacing:-.8px}h2{font:23px Georgia;letter-spacing:-.3px}h3{font-size:14px;font-weight:600}p{color:var(--muted);line-height:1.7;font-size:13px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:28px}.page-heading p{margin-bottom:0}.date{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.hero{background:#e9ede2;border:1px solid #dfe5d7;border-radius:15px;padding:32px 35px;display:flex;position:relative;overflow:hidden;min-height:223px;margin-bottom:25px}.hero-content{max-width:65%;z-index:1}.hero .eyebrow{color:#627759;margin-bottom:14px}.hero h2{font:32px Georgia;line-height:1.2;margin-bottom:12px}.hero p{max-width:390px;color:#6a7762}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:7px;padding:12px 16px;font-size:12px;font-weight:600}.primary{background:var(--green);color:white}.primary:hover{background:#3a6050}.secondary{border:1px solid var(--line);background:white}.secondary:hover{background:#f4f5f0}.hero-art{position:absolute;right:45px;top:20px;width:190px;height:230px;border:1px solid #aebc9b;border-radius:100px 100px 0 0;transform:rotate(8deg);background:#e2e8d7}.hero-art:before{content:'';position:absolute;width:120px;height:200px;left:32px;top:25px;border:1px solid #b0bd9f;border-radius:90px 90px 0 0;transform:rotate(-16deg)}.hero-art:after{content:'✳';position:absolute;top:50px;left:44px;font:110px Georgia;color:#96a682}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:20px 23px}.stat-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#737f75}.stat-head svg{color:#85947d}.stat-value{font:34px Georgia;display:block;margin:14px 0 7px}.stat small{font-size:11px;color:var(--muted)}.columns{display:grid;grid-template-columns:1.22fr 1fr;gap:24px}.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.panel-head h2{margin:0;font-size:21px}.text-link{color:#5a725b;font-size:11px;font-weight:600;display:inline-flex;gap:7px;align-items:center}.list-row{display:flex;align-items:center;gap:12px;padding:17px 0;border-top:1px solid #edf0e9}.list-row:first-child{border-top:0}.list-row .info{flex:1}.info strong{font-size:12px;font-weight:600;display:block}.info small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.badge{font-size:10px;padding:6px 9px;border-radius:6px;display:inline-block;background:#f5eddc;color:#98753a;white-space:nowrap}.badge.green{background:#eaf0e6;color:#58724d}.badge.gray{background:#f0f1ed;color:#707a73}.mini-time{font-size:12px;width:44px;color:#657568}.footer{margin-top:25px;display:flex;justify-content:space-between;font-size:10px;color:#92998f}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:25px}.tabs a{padding:0 0 15px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.tabs .selected{border-color:var(--green);color:var(--green);font-weight:600}.tabs .badge{margin-left:7px;padding:3px 7px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:white;border-radius:8px;padding:0 13px;max-width:370px;width:100%;color:var(--muted)}input[type=search]{border:0;background:transparent;padding:12px 0;width:100%;font-size:12px;color:#344a3d}select,textarea,input[type=number]{border:1px solid var(--line);border-radius:7px;background:white;color:var(--green);padding:10px;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:500;color:var(--muted);padding:14px 17px;background:#f8f9f5}td{padding:17px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}.person{display:flex;align-items:center;gap:12px}.table-panel{padding:0;overflow:hidden}.empty{padding:45px;text-align:center;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:25px;background:#fff;border:1px solid var(--line);border-radius:12px}.service-card .service-icon{width:43px;height:43px;display:grid;place-items:center;background:var(--sage);border-radius:12px;margin-bottom:25px}.service-card h2{font-size:21px;min-height:49px}.service-price{font:29px Georgia;margin:22px 0 15px}.service-card p{font-size:12px;margin-bottom:5px}.bar-row{display:grid;grid-template-columns:130px 1fr 25px;gap:12px;align-items:center;font-size:11px;margin:22px 0}.bar-track{height:9px;background:#f0f2eb;border-radius:5px;overflow:hidden}meter{width:100%;height:15px;appearance:none}meter::-webkit-meter-bar{background:#f0f2eb;border:0;border-radius:8px}meter::-webkit-meter-optimum-value{background:#879b73;border-radius:8px}meter::-moz-meter-bar{background:#879b73}.note{border-left:3px solid #c9d3b9;padding:10px 15px;background:#f0f3ea;font-size:12px;color:#6c7866;line-height:1.7;margin:22px 0}.menu-button{display:none}dialog{border:1px solid var(--line);border-radius:16px;padding:30px;width:480px;max-width:calc(100% - 30px);color:var(--green);box-shadow:0 30px 100px #18291e33}dialog::backdrop{background:#1d2d2660;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin-bottom:8px}.close{padding:4px;font-size:24px}.field{display:grid;gap:9px;font-size:12px;margin:18px 0}.field textarea{min-height:80px;resize:vertical}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:24px}.audit{padding:13px 0;border-top:1px solid var(--line);font-size:12px}.audit small{display:block;color:var(--muted);margin-top:6px}#toast{position:fixed;bottom:24px;right:25px;background:var(--green);color:white;padding:14px 20px;border-radius:9px;font-size:13px;max-width:calc(100vw - 35px);z-index:50}#toast:empty{display:none}@media(min-width:1550px){.main{padding-top:50px}.hero{min-height:250px}}@media(max-width:1100px){.sidebar{padding-left:12px;padding-right:12px}.shell{grid-template-columns:205px 1fr}.main{padding:30px 25px}.topbar{padding:0 25px}.columns{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.hero-art{right:20px;opacity:.6}.date{display:none}}@media(max-width:700px){.shell{display:block}.sidebar{display:none;position:fixed;width:235px;z-index:10;box-shadow:20px 0 50px #0003}.sidebar.open{display:flex}.topbar{height:65px;padding:0 18px}.menu-button{display:inline-flex;margin-right:10px}.topbar-right{gap:10px}.topbar-right>span:first-child{display:none}.main{padding:27px 18px}h1{font-size:31px}.hero{padding:25px 22px;min-height:245px}.hero-content{max-width:85%}.hero h2{font-size:29px}.hero-art{right:-65px;opacity:.35}.stats{gap:8px}.stat{padding:15px 11px}.stat-head{font-size:10px;min-height:27px}.stat-head svg{display:none}.stat-value{font-size:29px}.stat small{font-size:9px;line-height:1.5;display:block}.panel{padding:20px}.table-panel{padding:0}.tabs{gap:17px}.tabs a{font-size:12px}.toolbar{align-items:stretch;flex-direction:column}.search{max-width:none}.service-grid{grid-template-columns:1fr}.footer{gap:12px;line-height:1.5}.page-heading{align-items:flex-start}.bar-row{grid-template-columns:110px 1fr 20px}.list-row{gap:9px}.badge{font-size:9px}.panel-head h2{font-size:20px}.profile{margin-top:15px}}
.sidebar-close{display:none}.brand-mark{flex-shrink:0}.brand small{font-size:8px;letter-spacing:1.5px;white-space:nowrap}@media(max-width:700px){.sidebar-close{display:block;position:absolute;top:8px;right:12px;font-size:25px}.page-heading:has(#period){flex-direction:column;align-items:stretch}}
/* Agenda: alternância de visualização e conexão demonstrativa. */
.calendar-connection{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.calendar-connection .badge{display:flex;align-items:center;gap:6px}.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:25px 0 20px}.week-controls{display:flex;gap:12px;align-items:center}.week-controls h2{font:19px Georgia;margin:0}.week-controls h2 span{font:12px 'Segoe UI',sans-serif;color:var(--muted)}.week-controls .secondary{font-size:23px;padding:4px 12px}.view-toggle{display:flex;padding:4px;border:1px solid var(--line);border-radius:10px;background:#ecefe7;gap:4px}.view-toggle button{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:7px;font-size:12px;color:#718077}.view-toggle button[aria-pressed=true]{background:#fff;color:var(--green);box-shadow:0 1px 4px #243b3010}.view-toggle svg{width:16px;height:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:13px;background:white;overflow:hidden;min-height:430px}.calendar-day{min-width:0;border-right:1px solid var(--line)}.calendar-day:last-child{border:0}.calendar-day>header{text-align:center;display:grid;gap:7px;padding:17px 5px;border-bottom:1px solid var(--line);background:#fafbf7}.calendar-day>header>span{font-size:11px;color:var(--muted)}.calendar-day>header>strong{font:26px Georgia}.calendar-day>header>small{font-size:10px;color:var(--muted)}.day-events{padding:9px;display:grid;gap:10px}.calendar-event{text-align:left;display:grid;gap:8px;width:100%;padding:12px 9px;background:#edf2e8;border-left:3px solid #91a781;border-radius:7px}.calendar-event:hover{background:#e3ecd9}.calendar-event time{font-size:11px;font-weight:700}.calendar-event strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.calendar-event>span:not(.badge){font-size:10px;color:#6b7965;line-height:1.5;overflow-wrap:anywhere}.calendar-event .badge{white-space:normal;padding:5px;font-size:9px;justify-self:start}.day-off{background:#f6f7f3}.day-empty{font-size:10px;text-align:center;padding-top:20px;color:#8d958a}.agenda-caption{display:flex;justify-content:space-between;gap:15px;margin-top:17px;font-size:11px;color:var(--muted)}@media(max-width:1100px){.calendar-grid{grid-template-columns:repeat(7,minmax(125px,1fr));overflow-x:auto}.calendar-day{min-height:400px}}@media(max-width:700px){.page-heading:has([data-connect]),.page-heading:has(.calendar-connection){flex-direction:column;align-items:stretch}.page-heading [data-connect]{align-self:start}.agenda-toolbar{align-items:stretch;gap:15px}.week-controls{gap:9px;flex-wrap:wrap}.week-controls h2{font-size:17px}.view-toggle{width:100%}.view-toggle button{flex:1;justify-content:center}.calendar-grid{grid-template-columns:repeat(7,150px)}.agenda-caption{flex-wrap:wrap}}
.month-picker{display:grid;gap:8px;font-size:11px;color:var(--muted)}.month-picker input{font:inherit;font-size:14px;color:var(--green);padding:11px 13px;border:1px solid var(--line);background:white;border-radius:8px}.closing-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;background:#edf2e7}.closing-panel h2{margin:12px 0 8px}.closing-panel p{margin:0}.closing-panel .primary{flex-shrink:0}.finance-table-title{padding:24px 24px 0}.finance-table-title h2{margin-bottom:8px}.finance-charts{margin-top:24px}.closing-totals{margin:24px 0}.closing-totals>div{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.closing-totals dt{color:var(--muted)}.closing-totals dd{margin:0;font-weight:600}@media(max-width:700px){.closing-panel{flex-direction:column;align-items:stretch}.page-heading:has(.month-picker){flex-direction:column;align-items:stretch}}
@media(max-width:700px){.main:has(.month-picker) .stats{grid-template-columns:1fr}.main:has(.month-picker) .stat-value{font-size:30px}.main:has(.month-picker) .stat-head{font-size:12px;min-height:auto}}
/* Fechamento: totais expansíveis com detalhamento progressivo. */
dialog.closing-dialog{width:680px;max-height:90vh;overflow-y:auto}.closing-breakdown{display:grid;gap:12px;margin:24px 0 18px}.closing-section{border:1px solid var(--line);border-radius:11px;overflow:hidden}.closing-section summary{display:flex;align-items:center;gap:12px;padding:19px 16px;cursor:pointer;list-style:none;background:#f6f8f2}.closing-section summary::-webkit-details-marker{display:none}.closing-section summary:hover{background:#edf2e6}.closing-section summary:focus-visible{outline:3px solid #a78349;outline-offset:-3px}.summary-icon{width:33px;height:33px;display:grid;place-items:center;background:#e5ecdc;border-radius:9px;flex-shrink:0}.summary-icon svg{width:18px;height:18px}.summary-label{flex:1;font-size:13px;line-height:1.5}.summary-label small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.closing-section summary>strong{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.disclosure-arrow{font-size:20px;color:#819174;transition:transform .15s}.closing-section[open] .disclosure-arrow{transform:rotate(180deg)}.closing-detail{border-top:1px solid var(--line)}.closing-detail table{font-size:12px}.closing-detail th{letter-spacing:.4px;text-transform:none;font-size:11px}.closing-detail td,.closing-detail th{padding:13px 15px}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.closing-detail tfoot{background:#f5f7f0;font-weight:600}.closing-detail tfoot th{font-size:12px;color:var(--green)}.closing-values{min-width:440px}.breakdown-hint{margin:0;padding:12px 15px;font-size:10px;border-top:1px solid var(--line)}.closing-empty{padding:22px 16px;margin:0}.closing-absence{display:flex;justify-content:space-between;align-items:center;padding:9px 16px;font-size:12px;color:var(--muted)}.closing-absence strong{color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){dialog.closing-dialog{padding:22px 16px}.closing-section summary{padding:15px 11px;gap:9px}.summary-icon{display:none}.summary-label{font-size:12px}.summary-label small{font-size:10px}.closing-section summary>strong{font-size:17px}.closing-dialog .note{font-size:11px}.closing-detail td,.closing-detail th{padding:12px 10px}}
.heading-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field input:not([type=number]){width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;background:white;padding:11px;color:var(--green)}.field small{color:var(--muted);line-height:1.6}dialog{max-height:90vh;overflow-y:auto}.service-card h2{overflow-wrap:anywhere}@media(max-width:700px){.page-heading:has([data-new-service]),.page-heading:has(.heading-actions){flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr;gap:0}.heading-actions .primary{flex:1}}

.danger-button{background:#934f43;color:white;padding:12px 16px;border-radius:7px;font-size:12px;font-weight:600}.danger-button:hover{background:#7b3f35}.danger-link{color:#985547;font-size:11px;padding:8px 4px;margin-left:8px}.danger-link:hover{text-decoration:underline}.service-card>.danger-link{margin:18px 0 0;padding-left:0}.service-tabs{width:fit-content;margin-bottom:22px}.dialog-actions{flex-wrap:wrap}

.calendar-help{font-size:11px}.time-scroll{max-height:680px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}.time-calendar{display:grid;grid-template-columns:55px repeat(7,minmax(155px,1fr));min-width:1140px}.time-column>header,.time-axis>header{height:65px;position:sticky;top:0;z-index:4;background:#f4f7ef;border-bottom:1px solid var(--line);padding:12px;text-align:center;font-size:12px}.time-column>header strong{display:block;margin-top:5px}.time-body{height:1980px;position:relative}.time-axis .time-body{background:#fafbf8}.hour-label{position:absolute;left:8px;font-size:10px;color:var(--muted)}.timed-day{border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 44px,#edf0e8 44px,#edf0e8 45px)}.time-ticket{position:absolute;left:4px;right:4px;background:#e8efdf;border:1px solid #c9d7bb;border-left:3px solid #809b69;border-radius:6px;overflow:hidden;padding:0 5px 4px;display:flex;flex-direction:column;gap:3px;font-size:10px}.time-ticket>strong{font-size:11px}.time-ticket>span{font-size:10px;line-height:1.3}.ticket-drag{touch-action:none;cursor:grab;text-align:left;font-size:10px;font-weight:700;padding:5px 0;flex-shrink:0;user-select:none}.ticket-drag:active{cursor:grabbing}.ticket-actions{display:flex;gap:8px;margin-top:auto}.ticket-actions button{font-size:10px;padding:2px;text-decoration:underline}.short-ticket>span,.short-ticket .ticket-actions{display:none}.short-ticket{gap:0}.short-ticket>strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.time-ticket.attended{background:#eef1e9}.time-ticket.dragging{opacity:.6;pointer-events:none}.drop-target{background-color:#e3ecda}.move-link{margin-left:10px}@media(max-width:700px){.time-scroll{max-height:70vh}}
.time-ticket{touch-action:none;user-select:none;cursor:grab}.time-ticket:active{cursor:grabbing}.time-ticket .ticket-actions{cursor:default}

/* Occupation blocks, half-hour slots and live drag feedback. */
.timed-day{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 89px,#dce3d6 89px,#dce3d6 90px)}
.time-ticket{padding:0;gap:0;z-index:2;background:#e8efdf;overflow:hidden;display:block;border-left:3px solid #809b69}
.ticket-core{display:flex;flex-direction:column;gap:3px;padding:0 5px 3px;overflow:hidden}.ticket-core>strong{font-size:11px}.ticket-core>span{font-size:10px;line-height:1.3}
.short-ticket .ticket-core>span,.short-ticket .ticket-actions{display:none}.short-ticket .ticket-core>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket-buffer{height:100%;background:repeating-linear-gradient(135deg,#efe7d6,#efe7d6 8px,#eae1cf 8px,#eae1cf 9px);border-top:1px dashed #b9a37b;padding:8px 5px;color:#826738;font-size:10px;display:flex;flex-direction:column;gap:5px}.ticket-buffer small{font-size:9px}
.add-block-slot{position:absolute;left:0;right:0;height:90px;width:100%;text-align:center;color:#5e7750;font-size:10px}.add-block-slot span{opacity:0;background:#e7eedf;border:1px dashed #91a47d;padding:8px;border-radius:6px;display:inline-block}.add-block-slot:hover span,.add-block-slot:focus-visible span{opacity:1}.add-block-slot:hover{background:#edf3e880}.manual-block{position:absolute;left:4px;right:4px;z-index:2;background:#e9e4ed;border:1px solid #bdb0c7;border-left:3px solid #8e7d9e;border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:5px;font-size:10px;overflow:auto}.manual-block span{overflow-wrap:anywhere}.manual-block button{font-size:10px;text-decoration:underline;margin-top:auto;text-align:left}.calendar-legend{display:flex;gap:18px;font-size:10px;margin:0 0 12px;color:#718660}.calendar-legend span:nth-child(2){color:#a68b57}.calendar-legend span:nth-child(3){color:#8e7d9e}
.drag-ghost{position:fixed!important;z-index:1000;pointer-events:none!important;opacity:.93;box-shadow:0 12px 32px #273c3540;transform:rotate(1deg);border:2px solid #648548;cursor:grabbing}.drag-ghost *{pointer-events:none!important}.time-ticket.dragging{opacity:.2}.drop-preview{position:absolute;left:3px;right:3px;z-index:3;pointer-events:none;border:2px dashed #69894e;background:#dbebcfaa;border-radius:6px;padding:8px;font-size:11px;color:#395930}.invalid-drop{border-color:#bd514b!important;background:#f2cdccdd!important;color:#963a34!important}.drag-ghost.invalid-drop .ticket-core,.drag-ghost.invalid-drop .ticket-buffer{background:#f1cecc!important;color:#91332e!important}.buffer-drop{border-color:#b08c39!important;background:#f2e6c4dd!important;color:#836323!important}.buffer-consent:empty{display:none}.buffer-consent{background:#f5eddc;border:1px solid #d9c292;border-radius:8px;padding:14px;margin:15px 0}.buffer-consent p{font-size:11px;margin:10px 0 0}.consent-label{font-size:12px;display:flex;align-items:start;gap:9px}.consent-label input{flex-shrink:0}.day-off .add-block-slot{visibility:hidden}@media(hover:none){.add-block-slot span{opacity:.65}}

.agenda-list-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:start}.list-destinations{position:sticky;top:15px;padding:18px}.list-destinations h3{margin-bottom:8px}.list-slots{display:grid;grid-template-columns:1fr 1fr;gap:6px}.list-slots>div{padding:10px;border:1px dashed #b5c5a9;border-radius:6px;text-align:center;font-size:12px;background:#f5f8f0}.list-drop-active{outline:2px solid #69894e;background:#dcebcf!important}.list-destinations small{display:block;margin-top:12px;color:var(--muted);font-size:11px}[data-list-ticket][data-past="false"]{cursor:grab;touch-action:none}[data-list-ticket].dragging{opacity:.25}.list-drag-card{padding:15px;border-radius:8px;background:#e8efdf;font-size:12px;display:flex;align-items:center}.time-ticket[data-past="true"],.ticket-drag:disabled{cursor:default;touch-action:auto}.ticket-drag:disabled{color:inherit;opacity:1}@media(max-width:900px){.agenda-list-layout{grid-template-columns:minmax(0,1fr) 150px}.list-destinations{padding:10px}.list-destinations input{min-width:0;width:100%}}

.interval-rule{border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:14px}.interval-rule legend{font-size:13px;padding:0 7px}.rule-switch{display:flex;align-items:center;gap:8px;font-size:12px}.rule-fields{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px}.rule-fields .field{margin:12px 0 0;align-content:start}.rule-fields input{min-width:0;width:100%}#interval-error{color:#963a34}dialog:has(#interval-rules-form){width:650px;max-height:90vh;overflow:auto}
/* Agenda: semana completa, dimensionada pela área útil da janela. */
.compact-ticket-label{display:none}.closed-period{position:absolute;inset-inline:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(135deg,#e5e8eb 0,#e5e8eb 5px,#dce1e5 5px,#dce1e5 6px);color:#67727c;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px}.closed-period small{display:block;margin-top:5px;font-size:9px}.calendar-legend .closed-key{color:#67727c}.add-block-slot:disabled{visibility:hidden}.time-column>header small{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.agenda-overview .shell{height:100dvh;min-height:0;grid-template-columns:190px minmax(0,1fr)}.agenda-overview .workspace{height:100%;min-height:0;display:flex;flex-direction:column}.agenda-overview .topbar{height:40px;flex-shrink:0;padding:0 20px}.agenda-overview .main{margin:0;max-width:none;width:100%;padding:12px 20px;flex:1;min-height:0;display:flex;flex-direction:column}.agenda-overview .page-heading{margin:0 0 8px;gap:10px}.agenda-overview h1{font-size:28px;margin:0}.agenda-overview .page-heading p,.agenda-overview .main>.note,.agenda-overview .footer{display:none}.agenda-overview .heading-actions{gap:7px}.agenda-overview .heading-actions button{padding:9px 10px;font-size:11px}.agenda-overview .agenda-toolbar{margin:0 0 6px;gap:8px}.agenda-overview .week-controls h2{font-size:17px}.agenda-overview .calendar-help{margin:0 0 5px;font-size:10px;line-height:1.3}.agenda-overview .calendar-legend{margin:0 0 7px;gap:14px;font-size:10px}.agenda-overview .time-scroll{flex:1;min-height:280px;max-height:none;overflow:hidden}.agenda-overview .time-calendar{min-width:0;grid-template-columns:40px repeat(7,minmax(0,1fr));width:100%}.agenda-overview .time-column,.agenda-overview .time-axis{min-width:0}.agenda-overview .time-column>header,.agenda-overview .time-axis>header{height:55px;padding:5px 2px;position:relative;font-size:11px}.agenda-overview .time-column>header strong{margin-top:2px}.agenda-overview .timed-day{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--half-hour) - 1px),#e1e6db calc(var(--half-hour) - 1px),#e1e6db var(--half-hour))}.agenda-overview .hour-label{font-size:9px;left:4px;line-height:10px}.agenda-overview .time-ticket{left:2px;right:2px;border-radius:3px}.agenda-overview .ticket-core{padding:0;gap:0}.agenda-overview .ticket-core>strong,.agenda-overview .ticket-core>span,.agenda-overview .ticket-actions{display:none}.agenda-overview .ticket-drag{position:absolute;inset:0;width:100%;height:100%;font-size:0;padding:0;z-index:3}.agenda-overview .compact-ticket-label{display:block;position:absolute;top:0;left:3px;right:2px;z-index:2;pointer-events:none;font-size:10px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.agenda-overview .ticket-buffer{padding:0;border-top:1px dashed #b9a37b}.agenda-overview .ticket-buffer span,.agenda-overview .ticket-buffer small{display:none}.agenda-overview .add-block-slot span{padding:1px 3px;font-size:9px}.agenda-overview .manual-block{padding:1px 3px;left:2px;right:2px;font-size:9px;gap:0;overflow:hidden}.agenda-overview .manual-block small,.agenda-overview .manual-block span{display:none}.agenda-overview .agenda-caption{margin:5px 0 0;font-size:10px;min-height:16px}.agenda-overview .drop-preview{padding:1px;font-size:9px}.agenda-overview .sidebar{padding:22px 12px}.agenda-overview .brand{margin-bottom:24px}
@media(max-width:900px){.agenda-overview .shell{grid-template-columns:150px minmax(0,1fr)}.agenda-overview .main{padding:10px}.agenda-overview .brand{padding:0;gap:6px}.agenda-overview .brand strong{font-size:25px}.agenda-overview .calendar-legend{gap:8px;font-size:9px}.agenda-overview .compact-ticket-label{font-size:9px}.agenda-overview .heading-actions button{font-size:10px;padding:7px}.agenda-overview .closed-period{font-size:9px}}
@media(max-width:700px){.agenda-overview .shell{display:block}.agenda-overview .topbar{height:38px}.agenda-overview .page-heading{flex-direction:row!important;align-items:center!important;flex-wrap:wrap}.agenda-overview h1{font-size:24px}.agenda-overview .heading-actions{gap:4px}.agenda-overview .agenda-toolbar{flex-wrap:wrap}.agenda-overview .calendar-help{display:none}.agenda-overview .time-calendar{grid-template-columns:30px repeat(7,minmax(0,1fr))}.agenda-overview .time-column>header{font-size:9px}.agenda-overview .time-column>header small{font-size:7px}.agenda-overview .closed-period span{writing-mode:vertical-rl}.agenda-overview .closed-period small{display:none}.agenda-overview .compact-ticket-label{font-size:8px}.agenda-overview .calendar-legend{flex-wrap:wrap;gap:4px 8px}}

.agenda-overview .time-ticket:not(.short-ticket) .ticket-core>span{display:block;margin:17px 4px 0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:12px}

.agenda-settings-button{width:38px;height:38px;flex-shrink:0;padding:9px!important}.agenda-settings-button svg{width:20px;height:20px}.agenda-settings-options{display:grid;gap:12px;margin-top:20px}.settings-option{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:10px;text-align:left;background:#f6f8f2}.settings-option:hover{background:#eaf0e2}.settings-option>span:nth-child(2){flex:1}.settings-option strong{display:block;font-size:14px}.settings-option small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.working-hours-head,.working-hours-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;align-items:center}.working-hours-head{font-size:11px;color:var(--muted);margin-bottom:8px}.working-hours-row{padding:11px 0;border-bottom:1px solid var(--line)}.working-hours-row label{display:flex;align-items:center;gap:8px;font-size:13px}.working-hours-row input[type=time]{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:7px;color:var(--green);background:white}.working-hours-row input:disabled{opacity:.4}.working-hours-row:has(input[type=checkbox]:not(:checked)){color:var(--muted)}#hours-error{color:#963a34}#hours-warning{color:#8b692e}dialog:has(#working-hours-form){width:580px}@media(max-width:450px){.working-hours-row,.working-hours-head{gap:6px;grid-template-columns:1.1fr 1fr 1fr}.working-hours-row label{font-size:11px}.working-hours-row input[type=time]{padding:6px;font-size:11px}}
/* Divisórias dos dias permanecem acima dos fundos de expediente. */
.time-column{position:relative}.time-column::after{content:'';position:absolute;top:0;bottom:0;left:0;width:1px;background:#adb8be;z-index:5;pointer-events:none}
.closed-period>span,.closed-period small{font-weight:700}

/* Agenda: controles reunidos no cabeçalho para ampliar o calendário. */
.agenda-heading{flex-wrap:wrap;gap:12px}.agenda-title-controls{display:flex;align-items:center;gap:22px}.agenda-title-controls h1{margin:0}.agenda-heading .heading-actions{margin-left:auto;flex-wrap:wrap}.agenda-heading .week-controls{gap:8px;white-space:nowrap}.agenda-heading .view-toggle{flex-shrink:0}.agenda-description{font-size:13px;color:var(--muted)}.agenda-overview .agenda-description{display:none}.agenda-overview .agenda-heading{flex-shrink:0}.agenda-overview .agenda-heading .view-toggle button{padding:7px 9px}.agenda-overview .agenda-title-controls{gap:16px}.agenda-overview .agenda-heading .week-controls h2{font-size:16px}
@media(max-width:700px){.agenda-title-controls{width:100%;justify-content:space-between;gap:8px}.agenda-heading .heading-actions{width:100%;margin-left:0}.agenda-heading .view-toggle{width:auto}.agenda-heading .week-controls{gap:4px;flex-wrap:nowrap}.agenda-heading .week-controls h2{font-size:14px}.agenda-heading .week-controls h2 span{font-size:10px}}

.agenda-heading .week-arrow{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--green);transition:background .15s}.agenda-heading .week-arrow svg{width:16px;height:16px;stroke-width:1.8}.agenda-heading .week-arrow:hover{background:var(--sage)}.agenda-heading .week-arrow:active{background:#d6e1d4}
.calendar-pan,.touch-calendar-help{display:none}.closing-month-button{font:inherit;text-align:left;padding:0;display:inline-flex;align-items:center;gap:10px}.closing-month-button:hover{text-decoration:underline}.range-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.range-presets button{padding:8px 12px;background:var(--sage);border-radius:7px;font-size:12px}#closing-range{padding:14px;background:#f6f8f2;border:1px solid var(--line);border-radius:10px}#closing-range .field{margin:0 0 12px}#closing-range small{display:block;color:var(--muted);font-size:11px;line-height:1.5}#closing-range input{min-width:0;width:100%}.report-period{font-size:12px}#range-error:empty{display:none}#closing-range>.primary{margin-top:12px}
@media(hover:none){.add-block-slot span{opacity:0}.add-block-slot:hover{background:none}.add-block-slot:focus-visible span{opacity:1}.time-scroll .time-ticket,.time-scroll .ticket-drag{touch-action:pan-x pan-y;cursor:pointer}}
@media(max-width:1100px){.agenda-overview .time-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-color:#879b73 #edf2e7;scrollbar-width:auto;overscroll-behavior-x:contain}.agenda-overview .time-calendar{grid-template-columns:42px repeat(7,var(--day-width));width:max-content;min-width:100%}.agenda-overview .time-axis{position:sticky;left:0;z-index:8;background:#fafbf8}.agenda-overview .time-column>header{font-size:11px}.agenda-overview .time-column>header small{font-size:10px}.agenda-overview .compact-ticket-label{font-size:11px}.agenda-overview .closed-period span{writing-mode:horizontal-tb}.agenda-overview .closed-period small{display:block}.agenda-overview .calendar-pan{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);margin:3px 0 5px;flex-shrink:0}.calendar-pan input{flex:1;min-width:70px;height:24px;accent-color:var(--green);cursor:ew-resize}.agenda-overview .touch-calendar-help{display:block;font-size:10px;color:var(--muted);margin:0 0 6px}.agenda-overview .calendar-help{display:none}}
@media(max-width:700px){.agenda-overview .heading-actions{display:grid;grid-template-columns:1fr auto;width:100%;gap:6px}.agenda-overview .heading-actions .view-toggle{grid-column:1;justify-self:start}.agenda-overview .heading-actions .agenda-settings-button{grid-column:2;justify-self:end}.agenda-overview .heading-actions [data-connect]{grid-column:1;white-space:nowrap}.agenda-overview .heading-actions [data-new-appointment]{grid-column:2;white-space:nowrap}.agenda-overview .heading-actions button{min-height:32px}.agenda-overview .calendar-connection{grid-column:1/-1}.agenda-overview .agenda-caption{flex-wrap:wrap}.agenda-overview .week-controls h2{font-size:14px}.agenda-overview .agenda-title-controls{gap:3px}.agenda-overview .week-controls{gap:2px}}
.list-date-controls{display:flex;align-items:center;gap:4px}.list-date-controls input{flex:1;min-width:0;width:100%;padding:9px 4px}.list-day-arrow{flex:0 0 24px;height:32px;border-radius:6px;font-size:23px;display:grid;place-items:center;padding:0}.list-day-arrow:hover{background:var(--sage)}.list-slots>.slot-unavailable{background:#ebeeeb;border:1px solid #d8ddd8;color:#929b95;cursor:not-allowed}.list-slots>.slot-buffer{background:#f5eddc;border-color:#d4bc85;color:#876b38}.list-slots>.slot-unavailable.list-drop-active{background:#ebeeeb!important;outline-color:#a3aca5}
/* Estados compartilhados pelo card durante o arraste na lista e no calendário. */
.drag-ghost.neutral-drag{border-color:#4387bf!important;background:#dcecf9!important;color:#245b86!important}.drag-ghost.neutral-drag .ticket-core,.drag-ghost.neutral-drag .ticket-buffer{background:#dcecf9!important;color:#245b86!important}.drag-ghost.valid-drag{border-color:#648548!important;background:#dbebcf!important;color:#395930!important}.drag-ghost.valid-drag .ticket-core,.drag-ghost.valid-drag .ticket-buffer{background:#dbebcf!important;color:#395930!important}.drag-ghost.invalid-drop .compact-ticket-label{color:#963a34}.list-slots>.slot-unavailable.list-drop-active.invalid-drop{background:#f2cdcc!important;outline-color:#bd514b}.list-slots>.slot-buffer.list-drop-active:not(.invalid-drop){background:#dcebcf!important;color:#395930;border-color:#69894e}
/* A grade cresce antes de reduzir ou cortar o conteúdo do atendimento. */
.agenda-overview .time-scroll{overflow:auto}.agenda-overview .time-column>header,.agenda-overview .time-axis>header{position:sticky;top:0;z-index:7}.agenda-overview .compact-ticket-label{display:none}.ticket-readable{display:grid;gap:4px;position:absolute;top:4px;left:5px;right:5px;font-size:12px;line-height:1.4;overflow-wrap:anywhere;pointer-events:none}.ticket-readable strong{font-size:inherit}.ticket-readable span{display:block;white-space:normal}.agenda-overview .ticket-core>span{display:none!important}.agenda-overview .ticket-core{flex-shrink:0}.agenda-overview .ticket-buffer{flex:1;min-height:0}.drag-ghost.neutral-drag .ticket-readable{color:#245b86}.drag-ghost.valid-drag .ticket-readable{color:#395930}.drag-ghost.invalid-drop .ticket-readable{color:#963a34}@media(max-width:1100px){.agenda-overview .time-scroll{overflow-y:auto}.ticket-readable{font-size:13px}.agenda-overview .time-axis{z-index:9}}
.agenda-overview .ticket-readable{z-index:2}.agenda-overview .ticket-buffer{opacity:.65}
@media(max-width:1100px){.agenda-overview .time-scroll{scroll-snap-type:x mandatory;scroll-padding-left:42px}.agenda-overview .time-column{scroll-snap-align:start;scroll-snap-stop:always}.agenda-overview .calendar-pan{display:block;margin:4px 0 8px}.pan-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.pan-period{font-weight:600;color:var(--green)}.calendar-pan input{display:block;width:100%;margin:0;height:24px}.pan-days{display:flex;justify-content:space-between;gap:4px}.pan-days button{display:grid;gap:4px;justify-items:center;flex:1;padding:0 0 3px;font-size:10px;color:var(--muted);min-width:0}.pan-days button span{width:100%;height:4px;border-radius:2px;background:#dce3d6}.pan-days button[aria-pressed=true]{color:var(--green);font-weight:700}.pan-days button[aria-pressed=true] span{background:var(--green)}}
/* A navegação por dias substitui a barra horizontal nativa. */
@media(max-width:1100px){.agenda-overview .time-scroll{scrollbar-color:auto}.agenda-overview .time-scroll::-webkit-scrollbar{width:8px;height:0}.agenda-overview .time-scroll::-webkit-scrollbar:horizontal{height:0;display:none}.agenda-overview .time-scroll::-webkit-scrollbar-track{background:#edf2e7}.agenda-overview .time-scroll::-webkit-scrollbar-thumb{background:#879b73;border-radius:8px}}
/* Altura uniforme para as ações principais da agenda. */
.agenda-heading .heading-actions>button{height:38px;min-height:38px;padding-top:0;padding-bottom:0}.agenda-heading .heading-actions>.view-toggle{height:38px;box-sizing:border-box;padding:3px}.agenda-heading .heading-actions>.view-toggle button{height:30px;min-height:30px;padding-top:0;padding-bottom:0}
.list-date-notice{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 12px}.list-date-notice:empty{display:none}
.main>#closing-range{margin-bottom:24px}.main>#closing-range .form-grid{max-width:650px}.main>#closing-range .range-presets{margin-top:2px}@media(max-width:700px){.main:has(#closing-range) .stats{grid-template-columns:1fr}.main:has(#closing-range) .stat-value{font-size:30px}}
/* Filtro compacto e seleção de intervalo em um único calendário. */
#closing-range.finance-filter{padding:0}.finance-filter>summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:16px;font-size:12px}.finance-filter>summary::-webkit-details-marker{display:none}.finance-filter>summary strong{margin-left:auto;font-weight:600}.filter-chevron{font-size:20px}.finance-filter[open] .filter-chevron{transform:rotate(180deg)}.finance-filter-content{padding:0 16px 16px;border-top:1px solid var(--line)}.range-field{margin:16px 0;width:100%;justify-content:flex-start;background:white;border:1px solid var(--line)}.range-field>span{margin-left:auto;font-size:11px;color:var(--muted)}.range-month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 12px}.range-month-nav strong{text-transform:capitalize}.range-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.range-weekday{text-align:center;font-size:11px;color:var(--muted);padding:8px 0}.range-calendar button{min-height:40px;border-radius:6px;font-size:13px}.range-calendar button:hover{background:var(--sage)}.range-calendar button[aria-pressed=true]{background:#e4eddd}.range-calendar button.range-edge{background:var(--green);color:white}.range-calendar-dialog button:disabled{opacity:.4;cursor:not-allowed}.range-calendar-dialog small{font-size:11px;line-height:1.5;color:var(--muted)}#range-selection-error{color:#a5433c;font-size:12px;line-height:1.5}#range-selection-error:empty{display:none}@media(max-width:600px){.finance-filter>summary{flex-wrap:wrap;gap:7px}.finance-filter>summary strong{margin-left:0}.filter-chevron{margin-left:auto}.range-field{flex-wrap:wrap}.range-field>span{width:100%;margin-left:0}.range-calendar-dialog{padding:22px 16px}}
