/* Identidade visual AUDIN/ITI — fonte única de layout, conforme mockup de 13/10/2026.
   Componentes funcionais dos módulos continuam nos arquivos próprios. */
:root{
 --audin-navy:#082c5c;--audin-navy-2:#123d78;--audin-ink:#103265;
 --audin-muted:#697e9d;--audin-border:#dbe5f3;--audin-panel:#fff;
 --audin-page:#f6f9fe;--audin-accent:#1178d4;--audin-shadow:0 4px 19px #173f7012;
}
*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:100%;scroll-behavior:smooth}
body{margin:0;min-width:0;max-width:100%;overflow-x:clip;font-family:Inter,"Segoe UI",system-ui,sans-serif;background:linear-gradient(155deg,#fff 0%,#f7faff 27%,#f2f7ff 100%);color:var(--audin-ink)}
body::before,body::after{display:none!important}
[hidden]{display:none!important}
img,svg,canvas{max-width:100%}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
:is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #228dec;outline-offset:3px}
body .app{background:transparent!important;padding-bottom:0}
body .app>header,body>header{
 background:linear-gradient(112deg,#052653 0%,#0e356a 60%,#072954 100%)!important;
 color:#fff!important;box-shadow:0 3px 16px #1d4d8520;
 position:relative!important;z-index:50!important;width:100%;
}
header .top,header .header-inner{
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 width:100%!important;max-width:none!important;min-height:74px!important;
 margin:0!important;padding:12px clamp(15px,2vw,32px)!important;gap:14px!important;
}
header .brand,header .header-inner .brand{
 display:flex!important;flex:1 1 auto!important;align-items:center!important;gap:10px!important;
 min-width:0!important;max-width:none!important;overflow:visible!important;
 color:#fff!important;text-decoration:none!important;background:none!important;
}
header .audin-brand-clickable{cursor:pointer}
header .brand .audin-brand-image,header .header-inner .brand .audin-brand-image{
 width:51px!important;min-width:51px!important;max-width:51px!important;height:51px!important;
 flex:0 0 51px!important;object-fit:contain!important;display:block!important;
 border:0!important;padding:0!important;box-shadow:none!important;border-radius:0!important;
 background:transparent!important;filter:drop-shadow(0 0 1px #70c8ff55)!important;
}
header .audin-brand-wordmark{display:flex!important;flex-direction:column;flex:0 0 auto;gap:0;line-height:.95}
header .audin-brand-wordmark strong{display:block!important;font-weight:850!important;font-size:23px!important;letter-spacing:-.035em!important;color:#fff!important;line-height:.99!important;white-space:nowrap!important}
header .audin-brand-wordmark strong:last-child{font-size:21px!important;letter-spacing:.035em!important}
header .audin-brand-divider{width:1px!important;min-width:1px!important;height:40px!important;display:block!important;background:#8baed0a8!important;margin:0 7px 0 6px!important}
header .audin-brand-description{display:flex;flex-direction:column;min-width:0;justify-content:center;gap:3px}
header .audin-brand-description strong{font-size:14px!important;line-height:1.15!important;font-weight:760!important;color:#fff!important;white-space:normal!important}
header .audin-brand-description small{font-size:10px!important;line-height:1.3!important;color:#d5e4fa!important;white-space:normal!important;max-width:380px}
header .audin-toolbar{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;margin-left:auto;gap:8px}
header .audin-toolbar :is(a,button){
 display:grid!important;place-items:center!important;flex:0 0 37px!important;
 min-width:37px!important;width:37px!important;max-width:37px!important;height:37px!important;
 padding:0!important;border:0!important;border-radius:100px!important;background:transparent!important;
 box-shadow:none!important;color:#f5fbff!important;text-decoration:none!important;line-height:1!important;
}
header .audin-toolbar :is(a,button):hover{background:#ffffff1b!important}
header .audin-toolbar svg{width:22px;height:22px;stroke:currentColor}
header .audin-toolbar .audin-theme-button{
 position:relative!important;width:46px!important;min-width:46px!important;max-width:46px!important;
 flex:0 0 46px!important;height:25px!important;border-radius:99px!important;border:1px solid #5c96cc!important;
 background:#2464a1!important;color:transparent!important;font-size:0!important;overflow:visible!important;
}
header .audin-toolbar .audin-theme-button::before{
 content:'☀';position:absolute;left:-19px;top:0px;color:#ffe178;font-size:17px;line-height:24px;
}
header .audin-toolbar .audin-theme-button::after{
 content:'';position:absolute;left:3px;top:3px;width:17px;height:17px;
 background:white;border-radius:100%;box-shadow:0 1px 4px #063268aa;transition:transform .18s;
}
html[data-theme="dark"] header .audin-toolbar .audin-theme-button::after{transform:translateX(20px)}
html[data-theme="dark"] header .audin-toolbar .audin-theme-button::before{content:'☾';color:#cdeaff}
header .audin-account{position:relative;flex:0 0 auto}
header .audin-account-trigger{
 display:flex!important;align-items:center;gap:9px;min-height:44px;padding:4px 11px 4px 4px;
 border:1px solid #5387bc;border-radius:100px;
 background:linear-gradient(100deg,#275a9277,#104277ad);color:#fff;
}
header .audin-account-trigger:hover{background:#225995}
header .audin-account-avatar{display:grid;place-items:center;width:35px;height:35px;border:1px solid #77a6d7;border-radius:50%;background:#265689}
header .audin-account-avatar svg{width:21px;height:21px;stroke:#f6fbff}
header .audin-account-name{max-width:112px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:650}
header .audin-account-chevron{font-size:17px;color:#e3edfc}
header .audin-account-dropdown{
 position:absolute;top:calc(100% + 8px);right:0;z-index:150;
 width:210px;min-width:210px;max-width:calc(100vw - 20px);padding:8px;
 background:#fff;color:#183862;border:1px solid #e0e7f3;border-radius:12px;
 box-shadow:0 12px 28px #12345e2b;
}
header .audin-account-dropdown button{
 display:flex;align-items:center;gap:12px;width:100%;min-height:39px;padding:8px 10px;
 border:0;border-radius:8px;text-align:left;font-size:12px;font-weight:530;
 color:#253e64;background:transparent;
}
header .audin-account-dropdown button:hover{background:#ecf4ff}
header .audin-account-dropdown svg{width:17px;height:17px;flex:0 0 17px}
header .audin-account-dropdown .audin-signout{color:#ee3b4b;border-top:1px solid #e4e9f3;border-radius:0;margin-top:5px;padding-top:11px}
header :is(.audin-header-actions,.user-pill,.back){display:none!important}
body.audin-home:not(.audin-authenticated) :is(.audin-toolbar,.audin-account,.audin-edge-art,.audin-mobile-nav){display:none!important}
/* HOME */
body.audin-home .app>main{
 position:relative;width:min(100%,1160px)!important;max-width:1160px!important;
 padding:30px 30px 90px!important;margin:0 auto!important;background:transparent!important;
}
body.audin-home #workspace{width:100%;max-width:100%;margin:0}
body.audin-home .audin-home-content{position:relative;z-index:2}
body.audin-home .audin-feature{
 display:grid!important;grid-template-columns:50px minmax(0,1fr) 18px;
 align-items:center;gap:13px;min-height:89px;margin:0 0 15px;padding:16px 18px;
 color:white!important;background:linear-gradient(105deg,#123c79 0%,#1b4a86 50%,#0b346d 100%)!important;
 border:1px solid #23558a;border-radius:12px;box-shadow:var(--audin-shadow);
 text-decoration:none!important;transition:transform .16s,filter .16s;
}
body.audin-home .audin-feature:hover{transform:translateY(-2px);filter:brightness(1.04)}
body.audin-home .audin-feature-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:10px;background:#35639b66;color:white}
body.audin-home .audin-feature-icon svg{width:29px;height:29px}
body.audin-home .audin-feature-copy{grid-column:2;display:flex;flex-direction:column;gap:6px;min-width:0;border-left:1px solid #ffffff45;padding-left:14px}

body.audin-home .audin-feature-copy strong{color:white!important;font-size:clamp(15px,1.5vw,18px);font-weight:820;line-height:1.22}
body.audin-home .audin-feature-copy small{color:#e0edff!important;font-size:clamp(11px,1vw,12.5px);line-height:1.4}
body.audin-home .audin-feature-arrow{grid-column:3;color:#d5ebff;display:grid}
body.audin-home .audin-feature-arrow svg{width:19px;height:19px}
body.audin-home .audin-tile-grid{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:12px!important;width:100%;margin:0;
}
body.audin-home .audin-tile{
 min-width:0;display:grid!important;grid-template-columns:42px minmax(0,1fr) 15px;
 align-items:center;gap:11px;min-height:97px;padding:13px 13px;
 background:#fff!important;border:1px solid #e0e7f1;border-radius:11px;
 box-shadow:0 3px 13px #173f7010;color:var(--audin-ink)!important;
 text-decoration:none!important;transition:transform .16s,border-color .16s,box-shadow .16s;
}
body.audin-home .audin-tile:hover{transform:translateY(-2px);border-color:#96bdeb;box-shadow:0 9px 24px #163b681d}
body.audin-home .audin-tile-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#e8f1ff;color:#1c64b1}
body.audin-home .audin-tile-icon svg{width:25px;height:25px;stroke-width:1.9}
body.audin-home .audin-tile[data-tile="audit"] .audin-tile-icon{color:#f2ad17;background:#edf3ff}
body.audin-home .audin-tile[data-tile="file"] .audin-tile-icon{color:#334ac6;background:#edf1ff}
body.audin-home .audin-tile[data-tile="controls"] .audin-tile-icon{color:#254376;background:#e9f0ff}
body.audin-home .audin-tile[data-tile="target"] .audin-tile-icon{color:#ec314b;background:#edf3ff}
body.audin-home .audin-tile[data-tile="chart"] .audin-tile-icon{color:#138ded;background:#ecf5ff}
body.audin-home .audin-tile[data-tile="org"] .audin-tile-icon{color:#12a66b;background:#edf5ff}
body.audin-home .audin-tile[data-tile="monitor"] .audin-tile-icon{color:#154999;background:#edf3ff}
body.audin-home .audin-tile[data-tile="pin"] .audin-tile-icon{color:#ee3950;background:#edf3ff}
body.audin-home .audin-tile-copy{display:flex;flex-direction:column;min-width:0;gap:6px}
body.audin-home .audin-tile-copy strong{font-size:12.7px;color:#062959;font-weight:830;line-height:1.3;overflow-wrap:anywhere}
body.audin-home .audin-tile-copy small{font-size:11px;line-height:1.4;color:#6c7f9a;overflow-wrap:anywhere}
body.audin-home .audin-tile-arrow{color:#175dab;display:grid}
body.audin-home .audin-tile-arrow svg{width:17px;height:17px}
body.audin-home .audin-tile:focus-visible,body.audin-home .audin-feature:focus-visible{outline:3px solid #61b7f7}
/* Ornamentação restrita às margens, fora da leitura e sem interceptar eventos. */
.audin-edge-art{position:fixed;top:74px;bottom:0;width:clamp(55px,7vw,125px);z-index:0;pointer-events:none;opacity:.72;overflow:hidden;
 background-image:url("icons/audin-fingerprint.svg"),url("icons/audin-fingerprint.svg"),url("icons/audin-fingerprint.svg");
 background-size:110px 110px;background-repeat:no-repeat;
 filter:brightness(1.02)}
.audin-edge-left{left:0;background-position:-47px 14%,-42px 51%,-49px 87%}
.audin-edge-right{right:0;transform:scaleX(-1);background-position:-47px 8%,-42px 45%,-49px 83%}
.audin-binary-pattern{position:absolute;inset:0;display:block;width:100%;color:#5fb6f6;
 font:11px/2 ui-monospace,monospace;letter-spacing:8px;word-break:break-all;opacity:.58}
body.audin-home .app>main,body:not(.audin-home)>main{isolation:isolate}
/* Páginas internas: cards, formulários e tabelas seguem a mesma tipografia e espaçamentos. */
body:not(.audin-home)>main{position:relative;z-index:1;width:min(100%,1180px);max-width:1180px;min-width:0;
 padding:24px 22px 85px;margin:0 auto}
body:not(.audin-home) .heading{align-items:center;gap:14px;margin-bottom:18px}
body:not(.audin-home) .heading h1{color:#082e64;font-weight:800;line-height:1.2}
body:not(.audin-home) .heading .eyebrow{color:#3467a5!important}
body:not(.audin-home) .heading p:not(.eyebrow){color:#6f819d}
body:not(.audin-home) :is(.group,.audit-group,.document,.year-section,.module-link,.gestao-card,.audit-filters,.docs-filters,.gestao-filters,.universe-table){
 border-radius:12px;border-color:#dbe5f3;box-shadow:0 3px 15px #163f6910;
}
body:not(.audin-home) .primary,body:not(.audin-home) .btn-primary{
 background:#123b77;color:#fff;border-radius:9px;
}
body:not(.audin-home) .primary:hover,body:not(.audin-home) .btn-primary:hover{background:#1b519b}
body:not(.audin-home) :is(.row-actions,.record-actions,.audit-row-actions,.gestao-card-actions) button{border-radius:8px}
/* Nunca forçar tabelas largas para dentro de telas pequenas. */
body:not(.audin-home) :is(.table-scroll,.table-wrap,.control-table,.universe-table){max-width:100%;min-width:0}
body:not(.audin-home) :is(.table-scroll,.table-wrap){-webkit-overflow-scrolling:touch}
/* Modal nativo sempre centralizado e superior à camada da página. */
body dialog[open]{position:fixed;inset:0;margin:auto;z-index:1200;
 max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;
 color:#1d3a64;background:#fff;border:1px solid #dce6f3;border-radius:15px;
 box-shadow:0 24px 72px #0a244461}
body dialog::backdrop{background:#051c37b8;backdrop-filter:blur(2px)}
body dialog .fields :is(input,textarea,select),body dialog :is(input,textarea,select){min-width:0;max-width:100%}
body:has(dialog[open]) .audin-edge-art{visibility:hidden}
/* Navegação inferior apenas no mobile; sem barra duplicada. */
body .bottom-nav{display:none!important}
.audin-mobile-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;
 border-top:1px solid #e0e9f5;border-radius:18px 18px 0 0;
 background:#fff;box-shadow:0 -7px 26px #0e315323;
 padding:5px 10px calc(7px + env(safe-area-inset-bottom))}
.audin-mobile-nav-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-width:430px;margin:auto}
.audin-mobile-nav :is(a,button){display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;
 min-width:0;min-height:55px;padding:5px 0;border:0;background:transparent;
 color:#163c69;font-size:10px;font-weight:600;text-decoration:none}
.audin-mobile-nav svg{width:21px;height:21px}
.audin-mobile-nav .active{color:#083b83;text-decoration:underline;text-underline-offset:4px;font-weight:780}
html[data-theme="dark"] body{background:#112039!important;color:#e8f1ff!important}
html[data-theme="dark"] body.audin-home .audin-tile,html[data-theme="dark"] body:not(.audin-home) :is(.audit-group,.group,.gestao-card,.document,.year-section,.module-link,.audit-filters,.docs-filters,.gestao-filters,.universe-table){background:#203957!important;color:#e9f4ff!important;border-color:#4a6383!important}
html[data-theme="dark"] body.audin-home .audin-tile-copy strong,html[data-theme="dark"] body:not(.audin-home) .heading h1{color:#f1f8ff!important}
html[data-theme="dark"] body.audin-home .audin-tile-copy small{color:#ccdaee!important}
html[data-theme="dark"] .audin-mobile-nav,html[data-theme="dark"] header .audin-account-dropdown{background:#203855;color:#f5faff;border-color:#4c6685}
html[data-theme="dark"] header .audin-account-dropdown button{color:#e5f2ff}
html[data-theme="dark"] header .audin-account-dropdown button:hover{background:#355578}
html[data-theme="dark"] header .audin-account-dropdown .audin-signout{color:#ffbcc4}
html[data-theme="dark"] .audin-mobile-nav :is(a,button){color:#c4ddfa}
html[data-theme="dark"] .audin-edge-art{opacity:.56;filter:brightness(1.6)}
@media(max-width:1150px){
 body.audin-home .app>main{padding-inline:50px!important}
 body.audin-home .audin-tile-grid{gap:10px!important}
 body.audin-home .audin-tile{padding:12px 10px;gap:9px}
}
@media(max-width:900px){
 header .top,header .header-inner{min-height:69px!important;padding:9px 13px!important}
 header .audin-brand-description small{display:none}
 header .audin-brand-divider{margin-inline:4px!important}
 header .audin-toolbar{gap:3px}
 body.audin-home .app>main{padding:20px 28px 88px!important}
 body.audin-home .audin-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .audin-edge-art{display:none}
}
@media(max-width:680px){
 header .top,header .header-inner{min-height:62px!important;flex-wrap:nowrap!important;gap:6px!important;padding:7px 9px!important}
 header .brand,header .header-inner .brand{flex:1 1 auto!important;max-width:none!important;gap:5px!important}
 header .brand .audin-brand-image,header .header-inner .brand .audin-brand-image{
  width:35px!important;min-width:35px!important;max-width:35px!important;height:35px!important;flex:0 0 35px!important}
 header .audin-brand-wordmark strong{font-size:15px!important}
 header .audin-brand-wordmark strong:last-child{font-size:13px!important}
 header .audin-brand-divider{display:none!important}
 header .audin-brand-description strong{font-size:10px!important}
 header .audin-brand-description small{display:none!important}
 header .audin-toolbar{gap:1px}
 header .audin-toolbar .audin-home-link,header .audin-toolbar .audin-history-link{display:none!important}
 header .audin-toolbar .audin-theme-button{min-width:35px!important;max-width:35px!important;width:35px!important;flex:0 0 35px!important;height:22px!important}
 header .audin-toolbar .audin-theme-button::before{left:-7px;font-size:13px;top:-2px}
 header .audin-toolbar .audin-theme-button::after{width:15px;height:15px;left:2px;top:2px}
 html[data-theme="dark"] header .audin-toolbar .audin-theme-button::after{transform:translateX(15px)}
 header .audin-account-trigger{min-height:33px;padding:2px}
 header .audin-account-avatar{width:28px;height:28px}
 header .audin-account-name,header .audin-account-chevron{display:none}
 header .audin-account-dropdown{right:0}
 body.audin-home .app>main{padding:12px 11px calc(94px + env(safe-area-inset-bottom))!important;max-width:none!important}
 body.audin-home .audin-feature{grid-template-columns:35px minmax(0,1fr) 15px;gap:8px;min-height:64px;margin:0 0 8px;padding:8px 10px;border-radius:11px}
 body.audin-home .audin-feature-icon{width:35px;height:35px}
 body.audin-home .audin-feature-icon svg{width:23px;height:23px}
 body.audin-home .audin-feature-copy{gap:2px}
 body.audin-home .audin-feature-copy{padding-left:9px}
 body.audin-home .audin-feature-copy strong{font-size:12px}
 body.audin-home .audin-feature-copy small{font-size:10px}
 body.audin-home .audin-tile-grid{grid-template-columns:minmax(0,1fr)!important;gap:5px!important}
 body.audin-home .audin-tile{grid-template-columns:32px minmax(0,1fr) 16px;gap:10px;min-height:45px;padding:6px 9px;border-radius:9px}
 body.audin-home .audin-tile-icon{width:32px;height:32px;border-radius:8px}
 body.audin-home .audin-tile-icon svg{width:21px;height:21px}
 body.audin-home .audin-tile-copy{gap:1px}
 body.audin-home .audin-tile-copy strong{font-size:11px}
 body.audin-home .audin-tile-copy small{display:none}
 body.audin-home .audin-tile-arrow svg{width:15px;height:15px}
 body .audin-mobile-nav{display:block}
 body:not(.audin-home)>main{padding:15px 12px calc(94px + env(safe-area-inset-bottom))!important}
 body:not(.audin-home) .heading{flex-direction:column;align-items:stretch}
}
@media(max-width:360px){
 header .audin-brand-description{display:none}
 header .audin-brand-wordmark strong{font-size:14px!important}
 header .audin-brand-wordmark strong:last-child{font-size:12px!important}
}
@media print{
 body{background:#fff!important}
 .audin-edge-art,.audin-mobile-nav,header .audin-toolbar,header .audin-account{display:none!important}
}
