*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f9;--surface:#fff;--primary:#2563eb;--primary-hover:#1d4ed8;--sidebar-bg:#1e293b;--sidebar-text:#cbd5e1;--sidebar-active:#2563eb;--border:#e2e8f0;--text:#1e293b;--text-muted:#64748b;--radius:8px;--shadow:0 1px 4px #00000014;--font:"Segoe UI", system-ui, sans-serif}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}.login-wrapper{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:1rem;width:100%;max-width:380px;padding:2.5rem 2rem;display:flex}.login-logo{width:56px;height:56px;margin:0 auto .25rem;display:block}.login-title{text-align:center;color:var(--primary);margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:1rem 0;transition:width .15s;display:flex;position:sticky;top:0}.sidebar-collapsed{width:64px}.sidebar-brand{color:#fff;align-items:center;gap:.6rem;padding:.75rem 1rem 1.25rem;display:flex}.sidebar-collapsed .sidebar-brand{justify-content:center;padding:.75rem .5rem 1rem}.sidebar-brand-icon-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.sidebar-collapsed .sidebar-brand-icon-btn:hover{background:#ffffff14}.sidebar-brand-icon{flex-shrink:0;width:26px;height:26px;display:block}.sidebar-brand-info{flex-direction:column;flex:1;gap:.1rem;display:flex;overflow:hidden}.sidebar-collapsed .sidebar-brand-info{display:none}.sidebar-brand-text{letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;overflow:hidden}.sidebar-collapse-btn{color:var(--sidebar-text);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.sidebar-collapse-btn:hover{color:#fff;background:#ffffff14}.sidebar-collapsed .sidebar-collapse-btn{display:none}.sidebar-nav{flex-direction:column;flex:1;gap:.2rem;display:flex}.sidebar-footer{margin-top:auto;padding-top:1rem}.nav-link{color:var(--sidebar-text);text-align:left;cursor:pointer;width:100%;font-size:14px;font-family:var(--font);background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.6rem;padding:.6rem 1.25rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.active{border-left-color:var(--sidebar-active);color:#fff;background:#ffffff14}.nav-link-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.1rem;display:inline-flex}.nav-link-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-collapsed .nav-link{justify-content:center;padding:.6rem}.sidebar-collapsed .nav-link-label{display:none}.logout-btn{color:#94a3b8}.main-content{flex:1;min-width:0;padding:1.5rem 2rem;position:relative;overflow:auto}.app-version-badge{color:var(--text-muted,#888);opacity:.7;pointer-events:none;font-size:.7rem;position:fixed;bottom:.5rem;right:1rem}.page{max-width:1400px;padding-bottom:5rem}.page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-actions{flex-shrink:0;gap:.5rem;display:flex}.page-title{margin-bottom:1.25rem;font-size:1.25rem;font-weight:700}.filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.filter-bar-card,.pagination-card,.form-summary-card,.detail-meta-card,.form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.filter-bar-card{padding:.9rem 1rem}.filter-input{max-width:180px}.filter-input-wide{flex:280px;max-width:320px}.result-count{color:var(--text-muted);margin-left:auto;font-size:.85rem}.pagination-bar{justify-content:center;align-items:center;gap:.5rem;padding:.75rem 0;display:flex}.pagination-info{color:var(--text-muted);text-align:center;min-width:120px;font-size:.875rem}.field-label{flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600;display:flex}.field-help{color:var(--text-muted);font-size:.8rem;font-weight:400}.field-input{border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;font-family:var(--font);background:var(--surface);color:var(--text);outline:none;padding:.45rem .7rem;transition:border-color .15s}.field-input:focus{border-color:var(--primary)}.field-input-error{background:#fef2f2;border-color:#dc2626!important}.field-input-error:focus{box-shadow:0 0 0 3px #dc26262e}.field-error-text{color:#b91c1c;margin:.2rem 0 0;font-size:.78rem}.field-input-full{width:100%}.btn{border-radius:var(--radius);font-size:.9rem;font-family:var(--font);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:600;transition:background .15s;display:inline-flex}.btn:hover{background:var(--bg)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-sm{padding:.3rem .65rem;font-size:.8rem}.btn-icon{width:2rem;height:2rem;min-width:unset;justify-content:center;align-items:center;padding:0;font-size:.95rem;display:inline-flex}.row-action-group{gap:4px;display:flex}.split-btn-group{display:inline-flex;position:relative}.split-btn-group .split-btn-main{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}.split-btn-group .split-btn-arrow{border-top-left-radius:0;border-bottom-left-radius:0;min-width:0;padding:.3rem .45rem}.split-btn-menu{z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;min-width:148px;display:flex;overflow:hidden}.split-btn-menu-portal{position:fixed;left:auto}.split-btn-menu button{cursor:pointer;text-align:left;font-size:.85rem;font-family:var(--font);color:var(--text);white-space:nowrap;background:0 0;border:none;align-items:center;padding:.5rem .75rem;display:flex}.split-btn-menu button:hover{background:var(--bg)}.combobox{position:relative}.combobox-menu{z-index:300;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:260px;box-shadow:var(--shadow);list-style:none;position:fixed;overflow-y:auto}.combobox-option{color:var(--text);cursor:pointer;white-space:nowrap;padding:.5rem .75rem;font-size:.85rem}.combobox-option-sigla{color:var(--text-muted)}.combobox-option-active,.combobox-option:hover{background:var(--bg)}.modal-header-actions{align-items:center;gap:.5rem;display:flex}.alert{border-radius:var(--radius);padding:.65rem .9rem;font-size:.9rem}.alert-error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.spinner{color:var(--text-muted);padding:1.5rem 0}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-wrapper{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th{background:var(--bg);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);padding:.55rem .75rem;font-weight:600}.table-sort-button{color:inherit;font:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;display:inline-flex}.table-sort-button.active{color:var(--primary)}.sort-indicator{font-size:.72rem}.data-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem .75rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#f8fafc}.data-table tbody tr.clickable-row{cursor:pointer}.empty-row{text-align:center;color:var(--text-muted);font-style:italic}.table-input{width:100%;min-width:220px}.table-actions{justify-content:flex-start;display:flex}.badge{white-space:nowrap;color:var(--text);background:#e2e8f0;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-ok{color:#166534;background:#dcfce7}.badge-err{color:#991b1b;background:#fee2e2}.badge-pending{color:#713f12;background:#fef9c3}.badge-neutral{color:#334155;background:#e2e8f0}.badge-risk-low{color:#166534;background:#dcfce7}.badge-risk-medium{color:#92400e;background:#fef3c7}.badge-risk-high{color:#991b1b;background:#fee2e2}.modal-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;box-shadow:0 8px 30px #0003}.modal-wide{max-width:900px}.modal-xl{max-width:1120px;max-height:96vh}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h3{font-size:1rem;font-weight:700}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:1.1rem}.modal-close:hover{background:var(--bg)}.modal-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem .75rem;font-size:.875rem;display:grid}.section-subtitle{color:var(--text);font-size:.95rem;font-weight:700}.detail-section-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pagination{color:var(--text-muted);justify-content:center;align-items:center;gap:1rem;margin-top:1rem;font-size:.875rem;display:flex;position:relative}.pagination-actions,.pagination-controls{align-items:center;gap:.75rem;display:flex}.pagination-actions{position:absolute;left:50%;transform:translate(-50%)}.pagination-controls{margin-left:auto}.pagination-pagesize{min-width:72px}.pagination-card{flex-wrap:wrap;padding:.9rem 1rem}.table-card>.table-wrapper{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.table-card>.pagination-card{box-shadow:none;border-top:none;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.modal-form{flex-direction:column;gap:1rem;display:flex}.modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-section{flex-direction:column;gap:.85rem;padding:1rem;display:flex}.form-section-wide{grid-column:1/-1}.template-modal{max-width:980px}.template-identification-grid,.template-content-grid,.template-url-grid,.template-config-grid,.template-appearance-grid{gap:1rem;display:grid}.template-identification-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr);align-items:start}.template-config-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.template-appearance-grid,.template-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-url-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-summary-card{flex-direction:column;gap:.25rem;padding:.9rem 1rem;display:flex}.modal-footer{justify-content:flex-end;gap:.75rem;padding-top:.25rem;display:flex}.drawer-backdrop{z-index:120;background:#0f172a47;justify-content:flex-end;display:flex;position:fixed;inset:0}.detail-drawer{background:var(--surface);flex-direction:column;width:min(66vw,960px);min-width:560px;height:100vh;display:flex;box-shadow:-16px 0 40px #0f172a2e}.detail-drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem 1rem;display:flex}.drawer-kicker{text-transform:uppercase;letter-spacing:.04em;color:var(--primary);margin-bottom:.3rem;font-size:.78rem;font-weight:700}.drawer-subtitle{color:var(--text-muted);margin-top:.35rem}.detail-drawer-body{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.5rem;display:flex;overflow-y:auto}.detail-drawer-body-iframe{flex:1;padding:0;overflow:hidden}.survey-readonly-iframe{border:none;flex:1;width:100%;height:100%}.detail-pill-row{flex-wrap:wrap;gap:.5rem;display:flex}.detail-pill{color:#1d4ed8;background:#eff6ff}.detail-meta-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.detail-meta-card{flex-direction:column;gap:.2rem;padding:.85rem .95rem;display:flex}.detail-meta-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.detail-token{overflow-wrap:anywhere}.readonly-answer-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.9rem;display:grid}.readonly-answer-card{border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc;flex-direction:column;gap:.75rem;padding:.95rem 1rem;display:flex}.readonly-answer-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.question-code{color:var(--text-muted);font-size:.78rem;font-weight:700}.readonly-survey-shell{width:100%;padding:.25rem 0 1rem}.readonly-survey-card{border:1px solid var(--border);background:#fff;border-radius:12px;max-width:720px;margin:0 auto;padding:1.25rem 1.5rem;box-shadow:0 8px 24px #0f172a14}.readonly-survey-title{color:#1f3f67;margin-bottom:.85rem;font-size:2rem;font-weight:700;line-height:1.2}.readonly-survey-list{border-top:1px solid #cfd8e3}.readonly-survey-item{border-bottom:1px solid #d9e1eb;padding:.85rem 0}.readonly-survey-label{color:#314a67;margin-bottom:.35rem;font-weight:600}.readonly-survey-value{color:#111827;font-size:1.03rem;font-weight:600}.fab{background:var(--primary);color:#fff;cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;font-size:1.75rem;line-height:1;transition:background .15s,transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 14px #2563eb73}.fab:hover{background:var(--primary-hover);transform:scale(1.08);box-shadow:0 6px 18px #2563eb8c}.fab:active{transform:scale(.96)}@media (width<=1100px){.modal-form-grid{grid-template-columns:1fr}.detail-drawer{width:min(100vw,820px);min-width:0}}@media (width<=768px){.template-identification-grid,.template-content-grid,.template-url-grid,.template-config-grid{grid-template-columns:1fr}.app-shell{display:block}.sidebar{z-index:90;flex-direction:column;width:100%;height:auto;padding:0;position:sticky;top:0;box-shadow:0 4px 16px #0f172a29}.sidebar.sidebar-collapsed{width:100%}.sidebar-brand,.sidebar-collapsed .sidebar-brand{justify-content:flex-start;min-height:3.25rem;padding:.55rem 4rem .55rem .75rem;display:flex}.sidebar-brand-info,.sidebar-collapsed .sidebar-brand-info{display:flex}.sidebar-collapse-btn{display:none}.sidebar-nav{flex-direction:row;gap:0;width:100%;min-width:0}.sidebar-footer{height:2.55rem;padding-top:0;display:flex;position:absolute;top:.35rem;right:.5rem}.nav-link,.sidebar-collapsed .nav-link{text-align:center;border-top:0;border-bottom:3px solid #0000;border-left:0;flex-direction:column;flex:1 1 0;justify-content:center;gap:.15rem;min-width:0;min-height:3.4rem;padding:.35rem .2rem .3rem;font-size:.62rem;line-height:1.1}.nav-link.active{border-bottom-color:var(--sidebar-active)}.nav-link-icon{width:auto;font-size:1.05rem}.nav-link-label,.sidebar-collapsed .nav-link-label{white-space:nowrap;text-overflow:ellipsis;width:100%;display:block}.logout-btn,.sidebar-collapsed .logout-btn{border:0;width:2.75rem;min-height:2.55rem;padding:.35rem}.logout-btn .nav-link-label{display:none}.main-content{padding:1rem;overflow:visible}.page{padding-bottom:1rem}.page-heading{flex-direction:column;gap:.8rem;margin-bottom:1rem}.page-title{margin-bottom:.35rem}.page-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.page-actions .btn{min-height:2.75rem}.filter-bar-card{grid-template-columns:minmax(0,1fr) auto;padding:.75rem;display:grid}.filter-input,.filter-input-wide{width:100%;max-width:none}.filter-input-wide{grid-column:1/-1}.result-count{text-align:right;grid-column:1/-1;margin-left:0}.table-wrapper{overflow:visible}.hosted-surveys-table,.hosted-surveys-table tbody,.hosted-surveys-table tr,.hosted-surveys-table td{width:100%;display:block}.hosted-surveys-table thead{display:none}.hosted-surveys-table tbody{gap:.75rem;padding:.75rem;display:grid}.hosted-surveys-table tbody tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.hosted-surveys-table tbody tr:hover{background:var(--surface)}.hosted-surveys-table td{text-align:right;overflow-wrap:anywhere;justify-content:space-between;align-items:baseline;gap:1rem;padding:.48rem .7rem;display:flex}.hosted-surveys-table td:before{content:attr(data-label);color:var(--text-muted);text-align:left;flex:0 0 7.5rem;font-size:.74rem;font-weight:600}.hosted-surveys-table td:first-child{background:var(--bg);font-weight:700}.hosted-surveys-table td:last-child{border-bottom:0;align-items:center}.hosted-surveys-table .empty-row{text-align:center;display:block}.hosted-surveys-table .empty-row:before{display:none}.row-action-group{flex-wrap:wrap;justify-content:flex-end}.pagination{align-items:center;gap:.75rem}.pagination-actions{justify-content:space-between;width:100%;position:static;transform:none}.pagination-controls{width:auto;margin-left:0}.pagination-card{flex-direction:column}.detail-drawer{width:100vw}.modal-backdrop{padding:0}.modal{border-radius:0;min-height:100dvh;max-height:100dvh}.modal-header{padding:.85rem 1rem}.modal-body{padding:1rem}.app-version-badge{bottom:.5rem;right:.5rem}.readonly-survey-card{border-radius:10px;padding:1rem}.readonly-survey-title{font-size:1.5rem}}.json-modal{max-width:860px}.json-modal-body{padding:0;overflow:hidden}.json-viewer{color:#e2e8f0;border-radius:0 0 var(--radius) var(--radius);white-space:pre;background:#0f172a;max-height:68vh;margin:0;padding:1.25rem 1.5rem;font-family:Consolas,Fira Code,Menlo,monospace;font-size:.82rem;line-height:1.6;overflow:auto}.json-viewer .json-key{color:#93c5fd}.json-viewer .json-string{color:#86efac}.json-viewer .json-number{color:#fda4af}.json-viewer .json-boolean{color:#c4b5fd}.json-viewer .json-null{color:#94a3b8}
