@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css');
:root{--ink:#071a3a;--orange:#ed6b14;--cream:#f7f5f1;--line:#e6e8ed;--muted:#71809a}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--cream);color:var(--ink)}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex}.sidebar{width:252px;background:var(--ink);color:#eaf0ff;padding:27px 16px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 28px;font-weight:800;letter-spacing:.03em}.brand-mark{display:grid;place-items:center;border:1px solid #7488ac;border-radius:50%;width:33px;height:33px;color:#fff;font-size:18px}.brand small{display:block;color:#93a1bb;font-size:9px;letter-spacing:.16em;margin-top:2px}.nav-label{color:#7c8aa4;font-size:10px;font-weight:700;letter-spacing:.13em;margin:12px 10px 7px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:10px;color:#c2cce0;font-size:14px;margin:2px 0}.nav-item b{width:18px;text-align:center;font-weight:400}.nav-item:hover,.nav-item.active{background:#ffffff18;color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--orange)}.user-box{margin-top:auto;border-top:1px solid #23395e;padding:17px 10px 0;color:#b9c5d9;font-size:13px}.user-box strong{display:block;color:#fff}.main{margin-left:252px;width:calc(100% - 252px);padding:28px 36px 48px;max-width:1600px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--orange);text-transform:uppercase}.topbar h1{font-size:28px;line-height:1.15;margin:4px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:11px 16px;font-size:13px;font-weight:800;cursor:pointer;background:var(--orange);color:#fff}.btn.outline{background:#fff;color:var(--ink);border:1px solid #d8dde6}.btn.small{padding:8px 11px;font-size:12px}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:25px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 1px 2px #071a3a08}.stat-label,.muted{color:var(--muted);font-size:12px}.stat-value{font-size:27px;font-weight:800;margin:9px 0 3px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:31px 0 13px}.section-head h2{font-size:18px;margin:0}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:0 11px 11px}.data-table td{padding:13px 11px;border-top:1px solid var(--line);vertical-align:middle}.badge{display:inline-block;padding:5px 8px;border-radius:20px;font-size:11px;font-weight:800}.badge.pending{background:#fff2dd;color:#a55c00}.badge.paid,.badge.active{background:#e3f7f0;color:#087656}.badge.overdue,.badge.cancelled{background:#ffebeb;color:#b92e2e}.badge.draft{background:#edf1f8;color:#4b5e7c}.split{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.list{display:grid;gap:10px}.list-item{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.dot{width:10px;height:10px;border-radius:50%;background:var(--orange)}.empty{padding:32px;text-align:center;color:var(--muted)}.flash,.alert{padding:12px 15px;border-radius:9px;margin:0 0 18px;font-size:13px}.flash{background:#e6f7f1;color:#087656}.alert{background:#fff3dd;color:#704000}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#40516d}.field input,.field select,.field textarea{font:inherit;border:1px solid #d8dde6;border-radius:8px;padding:10px 11px;width:100%;background:#fff}.field textarea{min-height:85px;resize:vertical}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-card{border-top:4px solid var(--orange)}.doc-card h3{margin:8px 0;font-size:18px}.doc-card p{color:var(--muted);font-size:13px;line-height:1.5}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--cream)}.login-visual{display:none}.login-panel{width:100%;display:grid;place-items:center;padding:20px}.login-card{width:min(100%,390px);background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 12px 35px #071a3a12}.login-card .brand{padding:0;justify-content:center;text-align:center;flex-direction:column;gap:6px;color:var(--ink)!important}.login-card .brand-mark{color:var(--orange)!important;border-color:var(--orange)!important;width:42px;height:42px}.login-card h2{text-align:center;font-size:22px;margin:23px 0 5px}.login-card p{text-align:center;color:var(--muted);font-size:13px;margin:0 0 25px}.login-card form{display:grid;gap:16px}.login-card .btn{width:100%}@media(max-width:900px){.sidebar{width:70px;padding:18px 9px}.brand{padding:0 8px 22px}.brand-text,.nav-label,.nav-item span,.user-box span{display:none}.nav-item{justify-content:center;font-size:18px}.main{margin-left:70px;width:calc(100% - 70px);padding:22px}.stats{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:600px){.sidebar{display:none}.main{margin:0;width:100%;padding:18px 14px 32px}.stats,.document-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.card{padding:15px}.data-table{min-width:630px}}
/* Logo oficial */
.sidebar .brand{min-height:54px;background:url('/assets/images/logo-equipe-sb.png') center/contain no-repeat}.sidebar .brand>*{visibility:hidden}.login-card .brand{min-height:92px;background:#071a3a url('/assets/images/logo-equipe-sb.png') center/85% auto no-repeat;border-radius:10px}.login-card .brand>*{visibility:hidden}.print-header{background-color:#c85a1a;background-image:url('/assets/images/logo-equipe-sb.png');background-repeat:no-repeat;background-position:36px 23px;background-size:210px auto}.print-header strong,.print-header>div:first-of-type{display:none}.print-header h1{padding-top:42px}
/* Formulários dinâmicos, modais e kanban */
.data-table input,.data-table select{font:inherit;border:1px solid #d8dde6;border-radius:7px;padding:8px;width:100%;background:#fff}.data-table input:focus,.data-table select:focus{outline:0;border-color:#ed6b14;box-shadow:0 0 0 3px #ed6b1420}.modal-backdrop{position:fixed;z-index:1000;inset:0;background:#071a3ab8;display:grid;place-items:center;padding:18px}.modal-panel{width:min(100%,680px);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:16px;padding:22px;box-shadow:0 20px 70px #0005}.modal-panel form.card{border:0;box-shadow:none;padding:0}.modal-close{float:right;border:0;background:#edf1f8;color:#071a3a;border-radius:8px;width:34px;height:34px;font-size:22px;cursor:pointer}.wide-kanban{grid-template-columns:1fr!important}.wide-kanban .kanban{grid-template-columns:repeat(4,minmax(255px,1fr));width:100%}.wide-kanban .kanban-lane{min-height:510px}@media(max-width:700px){.wide-kanban .kanban{grid-template-columns:repeat(4,260px)}.modal-panel{padding:17px}}
.modal-panel iframe{display:block;width:100%;height:min(760px,calc(100vh - 90px));border:0;margin-top:10px}
.split.grid:has(>form.card[style*="display: none"]){grid-template-columns:1fr!important}.field input[type=file]{padding:7px}.field input[type=file]::file-selector-button{border:0;border-radius:6px;background:#071a3a;color:#fff;padding:7px 10px;margin-right:9px;font:inherit;font-weight:700;cursor:pointer}
.dashboard-card-link{display:block;transition:transform .18s,box-shadow .18s}.dashboard-card-link:hover{transform:translateY(-2px);box-shadow:0 8px 22px #071a3a14}.calendar-shell{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 1px 2px #071a3a08;overflow:hidden}.calendar-toolbar{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.calendar-toolbar h2{margin:4px 0 0;font-size:21px;text-transform:capitalize}.calendar-actions{display:flex;gap:8px;align-items:center}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#f4f6fa;border-bottom:1px solid var(--line)}.calendar-weekdays span{padding:11px 14px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.calendar-day{appearance:none;text-align:left;min-height:142px;padding:10px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover{background:#fff8f3}.calendar-day.outside-month{background:#fafbfc;color:#a4afc2}.calendar-day.today .calendar-day-number{background:var(--orange);color:#fff}.calendar-day-number{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:12px;font-weight:800;margin-bottom:7px}.calendar-event{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border:0;border-radius:5px;padding:5px 6px;margin:3px 0;background:#fff0e3;color:#9d4400;font:inherit;font-size:11px;cursor:pointer}.calendar-event:hover{filter:brightness(.96)}.calendar-event.status-realizada{background:#e4f7f0;color:#087656}.calendar-event.status-cancelada{background:#ffebeb;color:#b92e2e;text-decoration:line-through}.calendar-event.status-reagendada{background:#edf1f8;color:#4b5e7c}.meeting-form-template{max-width:680px}@media(max-width:900px){.calendar-day{min-height:112px}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-actions{flex-wrap:wrap}}@media(max-width:600px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-shell{overflow:auto}.calendar-weekdays,.calendar-grid{min-width:720px}.calendar-day{min-height:108px}.calendar-actions .btn{padding:9px 11px}.calendar-toolbar{min-width:720px}}
.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}.calendar-blank{min-height:142px;background:#fafbfc;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}@media(max-width:900px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.calendar-blank{min-height:112px}}@media(max-width:600px){.calendar-blank{min-height:108px}}
.calendar-day{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.calendar-day-number{flex:0 0 auto;align-self:flex-start}
.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:100%;margin:0 0 16px;border:1px solid #334a70;border-radius:9px;padding:9px;background:#ffffff0d;color:#dbe6fa;cursor:pointer;font:inherit;font-size:12px}.sidebar-collapsed .sidebar{width:70px;padding:18px 9px}.sidebar-collapsed .main{margin-left:70px;width:calc(100% - 70px)}.sidebar-collapsed .brand{padding:0 8px 22px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-item span,.sidebar-collapsed .user-box span,.sidebar-collapsed .sidebar-toggle span{display:none}.sidebar-collapsed .nav-item{justify-content:center;font-size:18px}.sidebar-collapsed .sidebar-toggle{font-size:16px}@media(max-width:900px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.sidebar{overflow-y:auto;padding-bottom:78px}.sidebar .user-box{flex-shrink:0}.sidebar-toggle{position:absolute;left:16px;right:16px;bottom:16px;width:auto;margin:0}.sidebar-collapsed .sidebar-toggle{left:9px;right:9px}
.sidebar{padding-bottom:27px}.sidebar-toggle{position:static;left:auto;right:auto;bottom:auto;width:calc(100% - 20px);margin:12px 10px 0;order:1;flex-shrink:0}.sidebar .user-box{order:2;margin-top:0}.sidebar-collapsed .sidebar-toggle{left:auto;right:auto}.stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}@media(max-width:600px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.stats{column-gap:18px!important;row-gap:18px!important}
.filter-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 16px}.filter-toolbar input,.filter-toolbar select{min-height:39px;border:1px solid #d8dde6;border-radius:9px;background:#fff;color:var(--ink);padding:9px 11px;font:inherit;font-size:13px}.filter-toolbar input{flex:1;min-width:230px}.filter-toolbar select{min-width:165px}.os-briefing{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#40516d!important;line-height:1.45;margin:10px 0!important}.os-edit{width:100%;margin-top:8px}.embedded-editor .sidebar,.embedded-editor .topbar,.embedded-editor .mobile-header{display:none!important}.embedded-editor .main{margin:0;width:100%;max-width:none;padding:10px;background:#fff}.embedded-editor .app{min-height:auto}.embedded-editor .modal-edit-form{border:0;box-shadow:none;padding:8px}.embedded-editor .sidebar-toggle{display:none!important}@media(max-width:700px){.filter-toolbar{display:grid;grid-template-columns:1fr}.filter-toolbar input,.filter-toolbar select{width:100%;min-width:0}}
.version-timeline{display:grid;gap:18px;margin-top:22px}.version-entry{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:start}.version-marker{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f36b10;color:#fff;font-weight:800}.version-content{border:1px solid #dbe2ec;border-radius:16px;padding:16px;background:#fff}.version-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.version-content .section-head{margin:0}.version-content p{color:#40506d;line-height:1.55}@media(max-width:700px){.version-entry{grid-template-columns:40px 1fr}.version-marker{width:36px;height:36px;font-size:13px}.version-content{padding:13px}}
.mobile-header,.mobile-menu-toggle{display:none}.dashboard-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:22px}.dashboard-filter .field{flex:1 1 180px;min-width:0}.dashboard-filter .field:nth-of-type(2){flex-basis:230px}.dashboard-filter .field input,.dashboard-filter .field select{display:block;min-width:0;max-width:100%}.dashboard-filter>.btn{flex:0 0 auto;min-height:42px;white-space:nowrap}.operational-stats{margin-top:-7px}.client-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-choice{display:flex;align-items:center;justify-content:space-between;gap:10px}.client-profile{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.client-profile h2{font-size:25px;margin:5px 0}.client-history-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:18px;align-items:start}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.timeline-item>i{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#fff0e3;color:#c85409}.timeline-item p{margin:5px 0;color:#40516d;font-size:13px}.timeline-item small{color:var(--muted)}.attachment-list{display:grid;gap:10px}.attachment-item{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px}.attachment-item>i{color:var(--orange);font-size:20px}.attachment-item div{display:grid;gap:3px;min-width:0}.attachment-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item span,.attachment-item small{font-size:11px;color:var(--muted)}.attachment-form{display:grid;gap:15px}.os-briefing-open{width:100%;margin-top:8px}.briefing-modal{padding:8px}.briefing-modal h2{font-size:24px;margin:5px 0 15px}.briefing-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.briefing-meta span{background:#edf1f8;border-radius:7px;padding:8px;font-size:12px}.briefing-modal p{white-space:pre-wrap;line-height:1.65;color:#40516d}.print-actions{display:flex;justify-content:flex-end;margin-bottom:15px}
@media print{.sidebar,.topbar,.print-actions,.mobile-header,.mobile-menu-toggle{display:none!important}.main{margin:0!important;width:100%!important;max-width:none!important;padding:0!important}.card{border:0!important;box-shadow:none!important}.financial-print .data-table{min-width:0!important}body{background:#fff!important}}
@media(max-width:1100px){.dashboard-filter>.btn{flex:1 1 180px}.client-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body{padding-bottom:0}.mobile-header{position:sticky;z-index:1200;top:0;height:64px;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);box-shadow:0 3px 14px #071a3a2b}.mobile-header-logo{display:block;width:180px;height:44px}.mobile-header-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.mobile-menu-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff45;border-radius:10px;background:#ffffff12;color:#fff;font-size:20px}.sidebar{display:flex!important;z-index:1100;width:min(84vw,300px)!important;transform:translateX(-105%);transition:transform .22s ease;padding:78px 14px 26px}.mobile-nav-open .sidebar{transform:translateX(0)}.mobile-nav-open:after{content:"";position:fixed;z-index:1050;inset:64px 0 0;background:#071a3a99}.sidebar .brand{display:none}.sidebar .brand-text,.sidebar .nav-label,.sidebar .nav-item span,.sidebar .user-box span,.sidebar .sidebar-toggle span{display:block!important}.sidebar .nav-item{justify-content:flex-start!important;font-size:14px!important}.main,.sidebar-collapsed .main{margin:0!important;width:100%!important;padding:18px 12px 32px!important}.topbar{margin-bottom:18px}.topbar h1{font-size:24px}.stats,.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.stat-value{font-size:20px}.card{padding:14px}.dashboard-filter{display:grid;grid-template-columns:1fr;width:100%}.dashboard-filter>.btn{width:100%}.client-history-layout,.client-selector-grid{grid-template-columns:1fr}.client-profile{gap:12px}.split,.document-grid{grid-template-columns:1fr!important}.table-wrap{margin:0 -14px;padding:0 14px;scrollbar-width:thin}.data-table{min-width:680px}.wide-kanban .kanban{display:flex!important;overflow-x:auto;gap:12px;padding-bottom:12px;scroll-snap-type:x proximity}.wide-kanban .kanban-lane{flex:0 0 82vw;scroll-snap-align:start;min-height:360px}.modal-backdrop{padding:0;align-items:end}.modal-panel{width:100%;max-height:92vh;border-radius:18px 18px 0 0;padding:16px}.modal-panel iframe{height:85vh}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.section-head{align-items:flex-start;gap:10px}.section-head .btn{flex-shrink:0}.calendar-shell{border-radius:10px}.calendar-toolbar{min-width:680px}.filter-toolbar{margin-bottom:12px}}
/* Responsividade completa: celular e tablet sem rolagem horizontal */
@media(max-width:900px){html,body{width:100%;max-width:100%;overflow-x:hidden}body{padding-bottom:0}.app{width:100%;max-width:100%;overflow:hidden}.mobile-header{position:sticky;z-index:1200;top:0;width:100%;max-width:100%;height:58px;padding:7px 12px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);box-shadow:0 3px 14px #071a3a2b}.mobile-header-logo{display:block;flex:0 1 118px;width:118px;height:34px;overflow:hidden}.mobile-header-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.mobile-menu-toggle{display:grid!important;flex:0 0 42px;place-items:center;width:42px!important;height:42px;border:1px solid #ffffff70;border-radius:10px;background:#ffffff16;color:#fff!important;cursor:pointer}.mobile-menu-glyph{display:block!important;color:#fff!important;font:700 27px/1 Arial,sans-serif!important}.sidebar{display:flex!important;z-index:1100;width:min(82vw,290px)!important;transform:translateX(-105%);transition:transform .22s ease;padding:70px 12px 22px}.mobile-nav-open .sidebar{transform:translateX(0)}.mobile-nav-open:after{content:"";position:fixed;z-index:1050;inset:58px 0 0;background:#071a3a99}.sidebar .brand{display:none}.sidebar .brand-text,.sidebar .nav-label,.sidebar .nav-item span,.sidebar .user-box span,.sidebar .sidebar-toggle span{display:block!important}.sidebar .nav-item{justify-content:flex-start!important;font-size:14px!important}.main,.sidebar-collapsed .main{margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:18px 12px 32px!important;overflow:hidden}.topbar{margin-bottom:18px}.topbar h1{font-size:clamp(22px,7vw,29px);overflow-wrap:anywhere}.card{width:100%;max-width:100%;min-width:0;padding:14px;overflow:hidden}.stats,.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.stat-value{font-size:clamp(18px,6vw,25px);overflow-wrap:anywhere}.dashboard-filter{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.dashboard-filter>.btn{width:100%}.client-history-layout,.client-selector-grid,.split,.document-grid,.main>section.grid:not(.stats){grid-template-columns:minmax(0,1fr)!important;min-width:0}.client-profile{gap:12px}.form-grid{grid-template-columns:minmax(0,1fr)}.field,.field.full{grid-column:auto;min-width:0}.field input,.field select,.field textarea{min-width:0;max-width:100%}.btn{max-width:100%;white-space:normal}.section-head{align-items:flex-start;gap:10px;flex-wrap:wrap;min-width:0}.section-head>.btn{flex:1 0 100%;width:100%;flex-shrink:0}.filter-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;margin-bottom:12px}.filter-toolbar input,.filter-toolbar select{width:100%;min-width:0}.table-wrap{width:100%;max-width:100%;margin:0;padding:0;overflow:visible}.data-table{display:block;width:100%;min-width:0!important}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.data-table tbody{display:grid;gap:12px;width:100%}.data-table tr{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.data-table td{display:block;width:100%;padding:8px 5px;border-top:1px solid var(--line);overflow-wrap:anywhere}.data-table td:first-child{border-top:0}.data-table td:empty{display:none}.data-table td .btn,.data-table td form{width:100%}.data-table td .btn{margin:4px 0!important}.wide-kanban .kanban{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;overflow:visible;gap:12px;padding:0}.wide-kanban .kanban-lane{width:100%;min-width:0;min-height:180px;overflow:hidden}.os-card{max-width:100%}.calendar-shell{width:100%;border-radius:10px;overflow:hidden}.calendar-toolbar{min-width:0!important;padding:14px;align-items:flex-start}.calendar-actions{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.calendar-actions .btn{min-width:0;padding:8px 5px;font-size:11px}.calendar-weekdays,.calendar-grid{width:100%;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:7px 2px;text-align:center;font-size:9px}.calendar-day,.calendar-blank{min-width:0;min-height:68px;padding:4px}.calendar-day-number{width:23px;height:23px;font-size:10px;margin-bottom:3px}.calendar-event{width:9px;height:9px;padding:0;margin:2px;border-radius:50%;font-size:0}.modal-backdrop{padding:0;align-items:end}.modal-panel{width:100%;max-width:100%;max-height:92vh;border-radius:18px 18px 0 0;padding:16px;overflow-x:hidden}.modal-panel iframe{width:100%;height:85vh}.attachment-item,.timeline-item{min-width:0}.attachment-item strong,.timeline-item strong{white-space:normal;overflow-wrap:anywhere}}
@media(max-width:420px){.stats,.dashboard-stats{grid-template-columns:minmax(0,1fr)!important}.calendar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-header-logo{width:105px}}
@media(max-width:900px){.data-table thead,.data-table thead *{display:none!important}}
.audit-json{max-width:520px;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f5f1ed;border-radius:10px;padding:12px;font-size:11px;color:var(--ink)}

/* Revisão UX mobile e acessibilidade — camada final */
:root{--orange:#c4530a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--focus:#0b63ce;--muted:#5e6e88;--touch:44px}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}
body{min-width:0;overflow-x:clip;line-height:1.5}
body.modal-open{overflow:hidden;touch-action:none}
img,svg,video,canvas{max-width:100%;height:auto}
.app,.main,.card,.grid,.split,.form-grid,.field,.section-head,.table-wrap{min-width:0}
.main{contain:inline-size}
.main>section,.main>.card,.main>.grid{margin-block-end:var(--space-6)}
.topbar{margin-bottom:var(--space-6)}
.card{padding:var(--space-5);overflow-wrap:anywhere}
.section-head{gap:var(--space-3);margin:var(--space-6) 0 var(--space-3)}
.card>.section-head:first-child{margin-top:0}
.grid,.form-grid{gap:var(--space-4)}
.stats{gap:var(--space-4)!important;margin-bottom:var(--space-6)}
.skip-link{position:fixed;z-index:3000;top:8px;left:8px;transform:translateY(-150%);padding:12px 16px;border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 4px 20px #0004;font-weight:800}
.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important;box-shadow:0 0 0 5px #fff!important}
.sidebar :where(a,button):focus-visible,.mobile-header :where(a,button):focus-visible{outline-color:#fff!important;box-shadow:0 0 0 5px #0b63ce!important}
.btn,.nav-item,.sidebar-toggle,.mobile-menu-toggle{min-height:var(--touch)}
.nav-item{position:relative}
.nav-alert-count{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:auto;padding:0 6px;border:2px solid #fff;border-radius:999px;background:var(--orange);color:#fff;font-size:.6875rem;font-style:normal;font-weight:900;line-height:1}
.sidebar-collapsed .nav-alert-count{position:absolute;top:1px;right:1px;min-width:20px;height:20px;padding:0 4px;border-width:1px;font-size:.625rem}
.dashboard-filter>.btn{min-height:var(--touch)!important}
.user-box form button{display:inline-flex;align-items:center;min-width:var(--touch);min-height:var(--touch);padding:10px 0!important;font:inherit;font-weight:700}
.btn.small{min-height:var(--touch);padding:10px 13px}
.btn,.nav-item,.calendar-day,.calendar-event,.client-choice,.attachment-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn:disabled,.btn[aria-disabled="true"],button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58;filter:saturate(.6)}
.field{gap:var(--space-2)}
.field label{font-size:.8125rem;line-height:1.35;color:#34445f}
.field input,.field select,.field textarea,.filter-toolbar input,.filter-toolbar select{min-height:var(--touch);line-height:1.35}
.field small{line-height:1.45}
.muted,.stat-label{color:var(--muted)}
.empty{min-height:112px;display:grid;place-items:center;padding:var(--space-6);line-height:1.55;border:1px dashed #cbd2dc;border-radius:10px;background:#fafbfc}
.alert,.flash{line-height:1.5;border:1px solid currentColor}
.modal-backdrop{overscroll-behavior:contain;animation:ux-fade-in .18s ease-out}
.modal-panel{position:relative;overscroll-behavior:contain;scrollbar-gutter:stable;animation:ux-modal-in .2s ease-out}
.modal-close{position:sticky;z-index:2;top:0;float:right;width:var(--touch);height:var(--touch);min-width:var(--touch);font-size:26px}
.modal-panel iframe{background:#fff}
.is-loading-control{position:relative;pointer-events:none}
.is-loading-control:after{content:"";width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ux-spin .7s linear infinite}
body.is-navigating:before{content:"";position:fixed;z-index:4000;top:0;left:0;width:42%;height:3px;background:var(--orange);box-shadow:0 0 12px var(--orange);animation:ux-progress 1s ease-in-out infinite}
.page-enter .main{animation:ux-page-in .24s ease-out both}
.login-card h1{text-align:center;font-size:1.5rem;line-height:1.25;margin:23px 0 5px}.login-card>p{text-align:center;color:var(--muted);font-size:.875rem;margin:0 0 var(--space-6)}
.mobile-header-logo img{aspect-ratio:800/150}
.dashboard-card-link,.client-choice,.attachment-item,.nav-item,.btn{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.dashboard-card-link:active,.client-choice:active,.btn:active{transform:translateY(1px)}

@keyframes ux-fade-in{from{opacity:0}to{opacity:1}}
@keyframes ux-modal-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes ux-page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes ux-spin{to{transform:rotate(360deg)}}
@keyframes ux-progress{0%{transform:translateX(-110%)}50%{transform:translateX(120%)}100%{transform:translateX(280%)}}

@media(max-width:900px){
  html,body,.app{width:100%;max-width:100%;overflow-x:clip}
  body{font-size:100%}
  .mobile-header{height:60px;padding:8px var(--space-3)}
  .mobile-header-logo{flex-basis:112px;width:112px;height:36px}
  .mobile-menu-toggle{flex:0 0 var(--touch)!important;width:var(--touch)!important;min-width:var(--touch);height:var(--touch)!important}
  .sidebar{top:0;bottom:0;max-width:calc(100vw - 48px)!important;padding:72px var(--space-3) var(--space-5);overscroll-behavior:contain}
  .main,.sidebar-collapsed .main{padding:var(--space-4) var(--space-3) var(--space-8)!important;overflow:clip}
  .topbar h1{font-size:clamp(1.5rem,7vw,2rem);line-height:1.15}
  .eyebrow{font-size:.75rem}
  .card{padding:var(--space-4);border-radius:12px}
  .stats,.dashboard-stats{gap:var(--space-3)!important}
  .stat-label{font-size:.8125rem}
  .stat-value{font-size:clamp(1.25rem,6vw,1.65rem)}
  .field input,.field select,.field textarea,.filter-toolbar input,.filter-toolbar select{font-size:1rem}
  .section-head{margin:var(--space-5) 0 var(--space-3)}
  .section-head h2{font-size:1.125rem;line-height:1.3}
  .section-head>.btn{width:100%;flex-basis:100%}
  .filter-toolbar{gap:var(--space-3)!important}
  .table-wrap{overflow:visible!important}
  .data-table thead{display:block!important;position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
  .data-table thead *{display:block!important}
  .data-table tbody{gap:var(--space-3)}
  .data-table tr{padding:var(--space-3)}
  .data-table td{padding:var(--space-3) var(--space-2)}
  .data-table td[data-label]:before{content:attr(data-label);display:block;margin-bottom:4px;color:var(--muted);font-size:.6875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
  .data-table td .btn,.data-table td form{min-height:var(--touch)}
  .modal-backdrop{align-items:end;padding:0}
  .modal-panel{width:100%;max-width:100%;max-height:min(92dvh,760px);padding:var(--space-4);border-radius:18px 18px 0 0;overflow-x:clip}
  .modal-panel iframe{height:calc(92dvh - 58px)}
  .calendar-actions .btn{min-height:var(--touch);font-size:.75rem}
  .calendar-day{min-height:76px}
  .calendar-event{position:relative;width:var(--touch);max-width:100%;height:var(--touch);min-height:var(--touch);margin:2px 0;padding:0;border-radius:9px;font-size:0;background:radial-gradient(circle,#c85409 0 6px,transparent 7px)}
  .calendar-event.status-realizada{background:radial-gradient(circle,#087656 0 6px,transparent 7px)}
  .calendar-event.status-cancelada{background:radial-gradient(circle,#b92e2e 0 6px,transparent 7px)}
  .calendar-event.status-reagendada{background:radial-gradient(circle,#4b5e7c 0 6px,transparent 7px)}
  .attachment-item{min-height:var(--touch)}
}

@media(max-width:420px){
  .main,.sidebar-collapsed .main{padding-inline:10px!important}
  .card{padding:var(--space-3)}
  .stats,.dashboard-stats{grid-template-columns:minmax(0,1fr)!important}
  .calendar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.btn,.card,.field input,.field select,.field textarea{border:1px solid CanvasText}.badge{border:1px solid currentColor}}
