/* Responsive navigation, layouts and page loading skeletons. */
html,body{min-width:320px;max-width:100%;overflow-x:hidden}
.sidebar{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.side-nav,.main,.page-view{min-width:0}
.nav-item{min-width:0}.nav-item>span:not(.nav-icon){min-width:0;overflow-wrap:anywhere}
.topbar{position:relative;gap:12px;min-width:0}.breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mobile-nav-toggle{display:none;flex:0 0 38px;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:9px;background:var(--surface-bg);color:var(--font-color);font-size:19px;cursor:pointer}
.nav-backdrop{display:none}.nav-backdrop[hidden]{display:none!important}
.nav-item .menu-chevron{margin-left:auto;flex:0 0 auto;color:var(--c-9ab3bc,#9ab3bc);font-size:calc(13px * var(--font-scale,1));transition:transform .18s ease}
.nav-item[aria-expanded="true"] .menu-chevron{transform:rotate(180deg)}
.client-menu-subnav{display:none}.nav-item.active+#client-menu-subnav{display:grid}
.page-view{position:relative}
.page-loading-skeleton{position:absolute;z-index:10;inset:0;display:grid;grid-template-rows:36px 16px auto auto 1fr;align-content:start;gap:13px;min-height:300px;padding:24px 0 32px;background:var(--page-bg);animation:skeleton-enter .12s ease-out}
.skeleton-heading,.skeleton-subheading,.skeleton-metrics i,.skeleton-panels i,.skeleton-table{display:block;border-radius:8px;background:linear-gradient(100deg,color-mix(in srgb,var(--border-color) 75%,#fff) 20%,var(--c-fcfbf9,#fcfbf9) 38%,color-mix(in srgb,var(--border-color) 75%,#fff) 58%);background-size:220% 100%;animation:skeleton-shimmer 1.25s linear infinite}
.skeleton-heading{width:min(280px,48%);height:30px}.skeleton-subheading{width:min(460px,72%);height:13px}
.skeleton-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:3px}.skeleton-metrics i{height:92px;border:1px solid var(--border-color)}
.skeleton-panels{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.skeleton-panels i{height:208px;border:1px solid var(--border-color)}.skeleton-table{height:180px;border:1px solid var(--border-color)}
@keyframes skeleton-shimmer{to{background-position-x:-220%}}@keyframes skeleton-enter{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.skeleton-heading,.skeleton-subheading,.skeleton-metrics i,.skeleton-panels i,.skeleton-table{animation:none}}
@media(max-width:1050px){.main{padding-inline:clamp(18px,3vw,30px)}.summary-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.ticket-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-filter .field:first-child{grid-column:1/-1}}
@media(max-width:880px){
 .mobile-nav-toggle{display:flex}
 .topbar{height:auto;min-height:62px;padding-block:10px;justify-content:flex-start}
 .breadcrumb{flex:1}
 .sidebar{position:fixed;z-index:41;inset:0 auto 0 0;width:min(310px,calc(100vw - 52px));padding:20px 15px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:0 16px 48px rgba(18,30,50,.18)}
 .mobile-nav-open .sidebar{transform:translateX(0)}
 .nav-backdrop{display:block;position:fixed;z-index:40;inset:0;border:0;background:rgba(16,25,41,.38);opacity:0;pointer-events:none;transition:opacity .2s ease}
 .mobile-nav-open .nav-backdrop{opacity:1;pointer-events:auto}
 .main{margin:0;max-width:none;width:100%;padding:0 clamp(14px,3vw,28px) 24px}
 .brand{padding-bottom:22px}.side-label{padding-bottom:8px;font-size:calc(9px * var(--font-scale,1))}.sidebar-bottom{font-size:calc(11px * var(--font-scale,1));justify-content:flex-start;padding-inline:9px}.side-nav{gap:3px}
 .sidebar .nav-item,.sidebar .nav-item:not(.active){height:auto;min-height:42px;padding:8px 11px;justify-content:flex-start;font-size:calc(12px * var(--font-scale,1))}
 .nav-item .nav-icon{width:18px;flex:0 0 18px;font-size:calc(16px * var(--font-scale,1))}
 .sidebar-bottom{margin-top:16px}.config-subnav{padding-left:40px}.config-subnav a{min-height:36px;font-size:calc(11px * var(--font-scale,1));padding:9px}
 .page-heading{padding-top:25px}.nav-backdrop:not([hidden]){display:block}
}
@media(max-width:680px){
 .summary-grid,.metric-grid{grid-template-columns:1fr}.content-grid,.report-charts,.skeleton-panels{grid-template-columns:1fr}.skeleton-panels i{height:150px}.skeleton-metrics{gap:8px}.skeleton-metrics i{height:76px}
 .page-heading{align-items:flex-start;flex-direction:column}.page-heading>.demo-badge{align-self:flex-start}.top-user{gap:6px}.top-user .avatar{display:none}
 .filters,.ticket-filters,.asset-filter,.module-form,.layout-color-fields,.layout-field-config,.integration-fields,.knowledge-toolbar{grid-template-columns:minmax(0,1fr)}
 .asset-filter .field:first-child{grid-column:auto}.filters .submit-button,.filter-actions{grid-column:auto}.filter-actions{display:grid;grid-template-columns:1fr 1fr}
 .multiweeks.visible{grid-template-columns:minmax(0,1fr);margin:12px 0}
 .table-wrap,.user-admin-list-wrap,.module-panel .table-wrap{max-width:calc(100vw - 40px);overflow-x:auto}.table-wrap table,.module-panel .table-wrap table{min-width:620px}
 .table-panel,.module-panel,.panel{padding:14px}.table-heading{align-items:flex-start}.table-heading-actions{align-items:flex-start!important;flex-direction:row!important;flex-wrap:wrap}
 .settings-actions{align-items:stretch;flex-wrap:wrap}.settings-actions>*{max-width:100%}.settings-status{flex-basis:100%}
 .service-hour-row{grid-template-columns:minmax(90px,1fr) 1fr 14px 1fr}.ticket-tools-grid{grid-template-columns:1fr}.detail-fields{grid-template-columns:1fr}.page-loading-skeleton{padding-top:20px}
}
@media(max-width:420px){
 .main{padding-inline:12px}.topbar{gap:8px}.breadcrumb{font-size:calc(10px * var(--font-scale,1))}
 .mobile-nav-toggle{width:35px;height:35px;flex-basis:35px}.page-heading h1{font-size:calc(20px * var(--font-scale,1))}
 .filter-card,.panel,.metric-card{border-radius:8px}.metric-card{padding:13px}.login-card{padding:20px}.dialog-close{flex:0 0 auto}
 .service-hour-row{grid-template-columns:1fr 1fr}.service-hour-row>span{display:none}.service-hour-row label{grid-column:1/-1}
}

/* Excel data migration workspace. */
.migration-panel{padding:22px}.migration-module-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}
.migration-module-heading h2{margin:0;color:var(--font-color);font:700 calc(18px * var(--font-scale,1)) Manrope,Arial}.migration-module-heading p{margin:6px 0 0;color:var(--c-778f98,#778f98);font-size:calc(11px * var(--font-scale,1))}
.migration-format-badge{flex:0 0 auto;padding:7px 10px;border:1px solid var(--c-fce2d8,#fce2d8);border-radius:20px;background:var(--c-fef6f3,#fef6f3);color:var(--c-bb5b43,#bb5b43);font-size:calc(10px * var(--font-scale,1));font-weight:700}
.migration-order-note{margin:15px 0;padding:11px 13px;border:1px solid var(--c-fce3da,#fce3da);border-left:3px solid var(--accent-color);border-radius:7px;background:color-mix(in srgb,var(--accent-color) 4%,var(--surface-bg));color:var(--c-55707a,#55707a);font-size:calc(11px * var(--font-scale,1));line-height:1.5}
.migration-actions{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.migration-actions button,.migration-upload-form button{min-height:38px}
.migration-upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:16px 0 8px;padding:15px;border:1px dashed var(--c-eadbc8,#eadbc8);border-radius:9px;background:color-mix(in srgb,var(--surface-bg) 88%,var(--page-bg))}
.migration-upload-form input[type=file]{height:auto;min-height:38px;padding:6px}.migration-hint{margin:10px 0;color:var(--c-7b929a,#7b929a);font-size:calc(10px * var(--font-scale,1));line-height:1.55}.migration-hint code{padding:2px 5px;border-radius:4px;background:var(--c-f8f1e7,#f8f1e7);color:var(--c-4a6670,#4a6670)}
.migration-status{min-height:20px;margin:10px 0;color:var(--c-68828b,#68828b);font-size:calc(11px * var(--font-scale,1));line-height:1.5;overflow-wrap:anywhere}.migration-status.success{color:#25805f}.migration-status.warning{color:#946f22}.migration-status.error{color:#ad3940}
.migration-preview{margin-top:18px;padding:15px;border:1px solid var(--border-color);border-radius:9px;background:var(--surface-bg)}.migration-preview h3{margin:0;font:700 calc(14px * var(--font-scale,1)) Manrope}.migration-preview .panel-heading{align-items:center;gap:12px}.migration-preview .panel-heading p{margin:4px 0 0;color:var(--c-869ca4,#869ca4);font-size:calc(10px * var(--font-scale,1))}
.migration-preview-table{min-width:600px}.migration-preview-table th,.migration-preview-table td{max-width:370px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-errors{display:grid;gap:5px;padding:12px 12px 12px 32px;border:1px solid #f1caca;border-radius:7px;background:var(--c-fff5f4,#fff5f4);color:#a33a3a;font-size:calc(10px * var(--font-scale,1));line-height:1.45}.migration-modules-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid var(--border-color)}
.migration-schema-row{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:9px;border:1px solid var(--border-color);border-radius:7px}.migration-schema-row>span:last-child{display:grid;gap:3px;min-width:0}.migration-schema-row strong{font-size:calc(10px * var(--font-scale,1));font-weight:700;overflow-wrap:anywhere}.migration-schema-row small{color:var(--c-778f98,#778f98);font-size:calc(9px * var(--font-scale,1));line-height:1.4;overflow-wrap:anywhere}.migration-schema-dot{flex:0 0 8px;width:8px;height:8px;margin-top:3px;border-radius:50%;background:#c09030}.migration-schema-row.ready .migration-schema-dot{background:#319b73}.migration-schema-row.missing{border-color:var(--c-f0ddc2,#f0ddc2);background:#fffaf2}
.migration-subnav a{min-height:32px}
/* V10.37: Portal do solicitante e conteúdos segmentados */
.portal-ticket-open{width:100%;text-align:left;color:var(--font-color);cursor:pointer;font:inherit}.portal-ticket-open.selected{border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-color) 14%,transparent)}.portal-history-count{margin:0;color:var(--c-718c96,#718c96);font-size:calc(10px * var(--font-scale,1))}.portal-ticket-detail{margin-top:14px;padding:15px;border:1px solid var(--border-color);border-radius:9px;background:var(--surface-bg)}.portal-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.portal-detail-heading h3{margin:5px 0;font:700 calc(14px * var(--font-scale,1)) Manrope;color:var(--font-color)}.portal-detail-heading p{margin:0;color:var(--c-7b929a,#7b929a);font-size:calc(10px * var(--font-scale,1))}.portal-deadline{display:grid;gap:4px;margin:14px 0;padding:11px 13px;border:1px solid #eed9a9;border-radius:7px;background:#fff9eb;color:#755b22;font-size:calc(10px * var(--font-scale,1))}.portal-deadline.completed{border-color:#c4e7d7;background:#f0faf5;color:#287451}.portal-deadline.overdue{border-color:#f1caca;background:var(--c-fff4f3,#fff4f3);color:#a33a3a}.portal-timeline{display:grid;gap:0;margin:16px 0}.portal-timeline-item{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;padding-bottom:16px}.portal-timeline-item:not(:last-child):before{position:absolute;content:"";left:6px;top:12px;bottom:-2px;width:2px;background:var(--border-color)}.portal-timeline-dot{position:relative;z-index:1;width:13px;height:13px;margin-top:2px;border:3px solid color-mix(in srgb,var(--accent-color) 28%,white);border-radius:50%;background:var(--accent-color)}.portal-timeline-item>div{min-width:0}.portal-timeline-item strong{display:block;color:var(--font-color);font-size:calc(10px * var(--font-scale,1))}.portal-timeline-item time{color:var(--c-8aa0a8,#8aa0a8);font-size:calc(9px * var(--font-scale,1))}.portal-timeline-item p{margin:5px 0;color:var(--c-66808a,#66808a);font-size:calc(10px * var(--font-scale,1));line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.portal-reply-form{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--border-color)}.portal-attachments{display:grid;gap:5px;margin:6px 0}.portal-file-link{justify-self:start;padding:5px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--surface-bg);color:var(--accent-color);cursor:pointer;font:inherit;font-size:calc(9px * var(--font-scale,1));overflow-wrap:anywhere}.portal-file-link small{margin-left:5px;color:var(--c-849aa2,#849aa2)}.knowledge-audience{color:var(--c-879da5,#879da5);font-size:calc(9px * var(--font-scale,1));text-align:right}.knowledge-video{position:relative;width:100%;aspect-ratio:16/9;margin-top:10px;overflow:hidden;border-radius:7px;background:#111}.knowledge-video iframe{width:100%;height:100%;border:0}.knowledge-video-file{display:block;width:100%;max-height:320px;margin-top:10px;border-radius:7px;background:#111}.knowledge-macro{display:grid;gap:7px;margin-top:12px;padding:10px;border:1px solid var(--border-color);border-radius:7px;background:color-mix(in srgb,var(--accent-color) 4%,var(--surface-bg))}.knowledge-macro strong{color:var(--font-color);font-size:calc(10px * var(--font-scale,1))}.knowledge-macro pre{max-height:150px;margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--c-56707a,#56707a);font:calc(10px * var(--font-scale,1))/1.5 ui-monospace,Consolas,monospace}
@media(max-width:680px){.migration-panel{padding:14px}.migration-module-heading{flex-direction:column}.migration-format-badge{align-self:flex-start}.migration-upload-form{grid-template-columns:1fr}.migration-actions{display:grid;grid-template-columns:1fr}.migration-actions button{width:100%}.migration-preview .panel-heading{align-items:flex-start;flex-direction:column}.migration-preview .panel-heading button{width:100%}.migration-modules-status{grid-template-columns:1fr}.migration-preview{padding:12px}}
@media(max-width:680px){.portal-ticket-detail{padding:11px}.portal-detail-heading{flex-direction:column}.portal-detail-heading button{width:100%}.portal-deadline{overflow-wrap:anywhere}.knowledge-card-head{align-items:flex-start}.knowledge-audience{text-align:left}.portal-ticket-open{padding:11px}}
