:root{
    --bg:#000000;
    --surface:#0b0b0b;
    --text:#ffffff;
    --muted:#b5b5b5;
    --line:#242424;
    --primary:#ffffff;
    --primary-dark:#d9d9d9;
}

/* Fundo geral */
html, body, .app-shell, .app-main, .content{
    background:#000 !important;
    color:#fff !important;
}

/* Sidebar */
.sidebar{
    background:#000 !important;
    border-right:1px solid #1f1f1f !important;
}
.brand{
    background:#000 !important;
    border-bottom:1px solid #1f1f1f !important;
}
.brand-text strong{ color:#fff !important; }
.brand-text span{ color:#a8a8a8 !important; }

.nav-item{
    color:#d7d7d7 !important;
}
.nav-item:hover{
    background:#141414 !important;
    color:#fff !important;
}
.nav-item.active{
    background:#2a2a2a !important;
    color:#fff !important;
}
.nav-icon{
    color:#fff !important;
}

/* Apoio */
.support-box{
    background:#111 !important;
    border:1px solid #2a2a2a !important;
    color:#fff !important;
}
.support-box span{ color:#b9b9b9 !important; }
.support-icon{
    background:#1a1a1a !important;
    border:1px solid #303030 !important;
    color:#fff !important;
}

/* Topbar */
.topbar{
    background:#000 !important;
    border-bottom:1px solid #1f1f1f !important;
}
.language-switch,
.language-switch span{
    color:#aaa !important;
}
.language-switch a{
    color:#d6d6d6 !important;
}
.language-switch a.selected{
    color:#fff !important;
}
.icon-button{
    color:#ddd !important;
}
.icon-button:hover{
    background:#151515 !important;
    color:#fff !important;
}
.user-info strong{ color:#fff !important; }
.user-info span{ color:#b6b6b6 !important; }
.avatar{
    background:#1a1a1a !important;
    color:#fff !important;
}
.logout-btn{
    color:#ddd !important;
}
.logout-btn:hover{
    background:#191919 !important;
    color:#fff !important;
}

/* Rodapé */
.footer{
    background:#000 !important;
    border-top:1px solid #1f1f1f !important;
    color:#9f9f9f !important;
}

/* Títulos */
.page-heading h1,
.panel-header h2,
.project-card h3,
.project-main strong,
.table-primary,
.entity-cell strong,
.timeline-item strong,
.summary-card strong,
.info-list strong,
.focus-box strong,
.empty-state strong{
    color:#fff !important;
}

.page-heading p,
.panel-header p,
.project-card > p,
.project-main span,
.table-secondary,
.entity-cell span,
.timeline-item p,
.timeline-item span,
.metric-content span,
.project-code,
.project-card-footer,
.info-list span,
.focus-box small,
.empty-state{
    color:#b5b5b5 !important;
}

.breadcrumb,
.breadcrumb a,
.breadcrumb span{
    color:#8f8f8f !important;
}

/* Painéis e cartões */
.panel,
.metric-card,
.summary-card,
.project-card,
.modal-card{
    background:#0b0b0b !important;
    border:1px solid #242424 !important;
    color:#fff !important;
    box-shadow:none !important;
}
.panel-header{
    background:#0b0b0b !important;
    border-bottom:1px solid #1f1f1f !important;
}
.metric-card:hover,
.project-card:hover{
    background:#101010 !important;
    border-color:#323232 !important;
}

.metric-icon,
.tone-blue,
.tone-green,
.tone-orange,
.tone-cyan,
.tone-purple,
.tone-red,
.project-avatar,
.entity-avatar,
.document-icon,
.count-badge{
    background:#181818 !important;
    color:#fff !important;
}

/* Botões */
.btn-primary{
    background:#1f1f1f !important;
    color:#fff !important;
    border:1px solid #3a3a3a !important;
    box-shadow:none !important;
}
.btn-primary:hover{
    background:#2a2a2a !important;
}
.btn-light{
    background:#161616 !important;
    color:#fff !important;
    border:1px solid #303030 !important;
}

/* Tabelas */
.table-wrap,
.data-table{
    background:#0b0b0b !important;
    color:#fff !important;
}
.data-table thead th{
    background:#101010 !important;
    color:#9f9f9f !important;
    border-bottom:1px solid #242424 !important;
}
.data-table td{
    background:#0b0b0b !important;
    color:#f2f2f2 !important;
    border-bottom:1px solid #1f1f1f !important;
}

/* Pesquisa */
.toolbar{
    background:#0b0b0b !important;
    border-bottom:1px solid #1f1f1f !important;
}
.search-box{
    background:#111 !important;
    border:1px solid #2a2a2a !important;
    color:#fff !important;
}
.search-box input{
    background:transparent !important;
    color:#fff !important;
}
.search-box input::placeholder{
    color:#8f8f8f !important;
}

/* Project rows */
.project-row{
    border-bottom:1px solid #1f1f1f !important;
}
.project-row:hover{
    background:#121212 !important;
}

/* Progress */
.progress{
    background:#1f1f1f !important;
}
.progress span{
    background:#ffffff !important;
}
.progress-meta > span:first-child{
    color:#d0d0d0 !important;
}

/* Tabs */
.tabs{
    border-bottom:1px solid #1f1f1f !important;
}
.tab{
    color:#b8b8b8 !important;
}
.tab:hover{
    color:#fff !important;
}
.tab.active{
    color:#fff !important;
    border-bottom-color:#fff !important;
}
.tab span{
    background:#1b1b1b !important;
    color:#fff !important;
}

/* Focus / caixas */
.description-box{
    background:#0b0b0b !important;
    color:#e0e0e0 !important;
}
.info-list{
    border-top:1px solid #1f1f1f !important;
}
.info-list div{
    border-bottom:1px solid #1f1f1f !important;
}
.focus-box{
    background:#111 !important;
    border:1px solid #2a2a2a !important;
}
.focus-box.secondary{
    background:#151515 !important;
}
.focus-box span{
    color:#a9a9a9 !important;
}

/* Timeline */
.timeline-item:not(:last-child):before{
    background:#2a2a2a !important;
}
.timeline-dot{
    background:#fff !important;
    border-color:#222 !important;
}

/* Estados */
.status-pill{
    background:#1d1d1d !important;
    color:#fff !important;
    border:1px solid #2b2b2b !important;
}
.status-registado{ background:#1b1b1b !important; color:#fff !important; }
.status-levantamento{ background:#2a2115 !important; color:#ffd28a !important; }
.status-desenvolvimento{ background:#13202a !important; color:#8fd6ff !important; }
.status-testes{ background:#1f1a2b !important; color:#cdb6ff !important; }
.status-entregue{ background:#132423 !important; color:#9de8de !important; }
.status-concluido{ background:#142217 !important; color:#9ee0ac !important; }
.status-suspenso{ background:#2b1d12 !important; color:#ffbf87 !important; }
.status-cancelado{ background:#2b1416 !important; color:#ff9aa4 !important; }

/* Modais */
.modal-backdrop{
    background:rgba(0,0,0,.75) !important;
}
.modal-header{
    background:#0b0b0b !important;
    border-bottom:1px solid #1f1f1f !important;
}
.modal-header h3{ color:#fff !important; }
.modal-header p{ color:#b2b2b2 !important; }
.modal-close{
    background:#171717 !important;
    color:#fff !important;
    border:1px solid #2b2b2b !important;
}
.modal-actions{
    background:#0b0b0b !important;
    border-top:1px solid #1f1f1f !important;
}

/* Formulários */
.form-group label,
.check-line,
.section-label{
    color:#d0d0d0 !important;
}
.form-group input,
.form-group select,
.form-group textarea{
    background:#111 !important;
    border:1px solid #2c2c2c !important;
    color:#fff !important;
}
.form-group input::placeholder,
.form-group textarea::placeholder{
    color:#8f8f8f !important;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    border-color:#fff !important;
    box-shadow:none !important;
}

/* Alertas */
.alert-success{
    background:#102015 !important;
    border:1px solid #24462f !important;
    color:#baf0c6 !important;
}
.alert-error{
    background:#241214 !important;
    border:1px solid #4d2329 !important;
    color:#ffc2cb !important;
}

/* Login */
.login-page{
    background:#000 !important;
}
.login-shell{
    background:#0b0b0b !important;
    border:1px solid #242424 !important;
    box-shadow:none !important;
}
.login-brand h1{ color:#fff !important; }
.login-brand p,
.login-footer{ color:#b2b2b2 !important; }
.login-language{ color:#9f9f9f !important; }
.login-language a{ color:#cfcfcf !important; }
.login-language a.selected{ color:#fff !important; }
.login-form label{ color:#d7d7d7 !important; }
.login-form input{
    background:#111 !important;
    border:1px solid #2c2c2c !important;
    color:#fff !important;
}
.login-error{
    background:#241214 !important;
    border:1px solid #4d2329 !important;
    color:#ffc2cb !important;
}

/* Paginação */
.pagination-wrap{
    background:#0b0b0b !important;
    border-top:1px solid #1f1f1f !important;
    color:#b5b5b5 !important;
}
.pagination-wrap a,
.pagination-wrap span{
    color:#d8d8d8 !important;
}

/* =========================================================
   SiGI Workspace - icones brancos em contorno
========================================================= */
.svgicon{
    width:18px;
    height:18px;
    display:block;
    overflow:visible;
}

.svgicon path,
.svgicon circle,
.svgicon rect,
.svgicon line,
.svgicon polyline,
.svgicon polygon{
    stroke:#ffffff !important;
    fill:none !important;
    stroke-width:1.7 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    vector-effect:non-scaling-stroke;
}

/* Nenhum ícone com fundo colorido */
.metric-icon,
.tone-blue,
.tone-green,
.tone-orange,
.tone-cyan,
.tone-purple,
.tone-red{
    background:transparent !important;
    color:#ffffff !important;
    border:0 !important;
}

/* Ícones do menu */
.nav-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#ffffff !important;
}

.nav-icon .svgicon{
    width:18px;
    height:18px;
}

/* Apoio */
.support-icon{
    background:transparent !important;
    border:1px solid #333333 !important;
    color:#ffffff !important;
}

/* Sino, menu e sair */
.icon-button,
.logout-btn{
    color:#ffffff !important;
}

.icon-button .svgicon,
.logout-btn .svgicon{
    width:18px;
    height:18px;
}

/* Mantém só o nome do utilizador */
.user-info{
    justify-content:center !important;
}
.user-info strong{
    color:#ffffff !important;
    line-height:1.2 !important;
}
.user-info span{
    display:none !important;
}

/* Avatar continua simples, sem cor azul */
.avatar{
    background:#151515 !important;
    border:1px solid #292929 !important;
    color:#ffffff !important;
}

/* Os cartões mantêm apenas a borda exterior */
.metric-card{
    border-color:#2a2a2a !important;
}

/* Indicador de notificação discreto */
.notification-dot{
    width:6px !important;
    height:6px !important;
    background:#ffffff !important;
    border:1px solid #000000 !important;
}


/* =========================================================
   LEVANTAMENTOS ONLINE
========================================================= */

.heading-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.survey-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:18px;
}

.survey-link-panel{
    margin-bottom:18px;
}

.link-share-row{
    display:flex;
    align-items:center;
    gap:10px;
    padding:16px 20px;
}

.public-link-box{
    flex:1;
    min-width:0;
    padding:12px 14px;
    border:1px solid #292929;
    background:#101010;
    border-radius:7px;
    color:#d9d9d9;
    font-size:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.table-action{
    color:#ffffff !important;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border:1px solid #303030;
    border-radius:6px;
    font-size:10px;
    font-weight:700;
}

.table-action:hover{
    background:#181818;
}

.status-form-rascunho{
    color:#c9c9c9 !important;
}
.status-form-publicado{
    color:#9ee0ac !important;
    background:#142217 !important;
}
.status-form-respondido{
    color:#8fd6ff !important;
    background:#13202a !important;
}
.status-form-revisto{
    color:#cdb6ff !important;
    background:#1f1a2b !important;
}
.status-form-encerrado{
    color:#a5a5a5 !important;
    background:#181818 !important;
}

.questions-list{
    padding:8px 0;
}

.question-card{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:14px;
    align-items:flex-start;
    padding:17px 20px;
    border-bottom:1px solid #1f1f1f;
}

.question-card:last-child{
    border-bottom:0;
}

.question-order,
.answer-number{
    width:30px;
    height:30px;
    border:1px solid #313131;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#cfcfcf;
    font-size:10px;
    font-weight:700;
}

.question-content{
    min-width:0;
}

.question-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.question-title-row strong{
    color:#ffffff;
    font-size:12px;
    line-height:1.45;
}

.required-chip{
    display:inline-flex;
    margin-left:7px;
    padding:3px 7px;
    border:1px solid #3b2d24;
    border-radius:99px;
    color:#e5bd8b;
    font-size:8px;
    font-weight:700;
    vertical-align:middle;
}

.question-type{
    color:#a5a5a5;
    font-size:9px;
    white-space:nowrap;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.question-content p{
    margin:7px 0 0;
    color:#aeb4bd;
    font-size:10px;
    line-height:1.5;
}

.question-translation{
    margin-top:8px;
    color:#7f8998;
    font-size:9px;
}

.options-preview,
.answer-tags{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-top:9px;
}

.options-preview span,
.answer-tags span{
    padding:5px 8px;
    border:1px solid #2d2d2d;
    border-radius:99px;
    background:#111111;
    color:#cfcfcf;
    font-size:9px;
}

.question-actions{
    display:flex;
    align-items:center;
    gap:5px;
}

.question-actions form{
    margin:0;
}

.icon-outline-btn{
    width:31px;
    height:31px;
    padding:0;
    border:1px solid #303030;
    border-radius:6px;
    background:transparent;
    display:grid;
    place-items:center;
    color:#ffffff;
}

.icon-outline-btn:hover{
    background:#171717;
    border-color:#444444;
}

.icon-outline-btn .svgicon{
    width:15px;
    height:15px;
}

.danger-outline:hover{
    border-color:#64383c;
    background:#211315;
}

.danger-outline:hover .svgicon path{
    stroke:#ff9fa8 !important;
}

.field-help{
    display:block;
    margin-top:2px;
    color:#7f8998;
    font-size:9px;
    line-height:1.45;
}


/* ---------------- Public form ---------------- */

.public-form-page{
    min-height:100vh;
    background:#000000 !important;
    color:#ffffff;
    display:flex;
    flex-direction:column;
}

.public-form-topbar{
    height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 34px;
    border-bottom:1px solid #1f1f1f;
    background:#000000;
    position:sticky;
    top:0;
    z-index:20;
}

.public-brand{
    display:flex;
    align-items:center;
    gap:10px;
}

.public-brand img{
    width:38px;
    height:38px;
    object-fit:contain;
}

.public-brand>div{
    display:flex;
    flex-direction:column;
    line-height:1;
}

.public-brand strong{
    font-size:17px;
    letter-spacing:.2px;
}

.public-brand span{
    margin-top:5px;
    font-size:9px;
    letter-spacing:2.4px;
    color:#b2b2b2;
    font-weight:700;
}

.public-form-container{
    width:min(860px,calc(100% - 32px));
    margin:0 auto;
    padding:52px 0 60px;
    flex:1;
}

.public-form-header{
    margin-bottom:28px;
}

.public-form-meta{
    color:#898989;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.6px;
    margin-bottom:10px;
}

.public-form-header h1{
    margin:0;
    color:#ffffff;
    font-size:28px;
    line-height:1.2;
    letter-spacing:-.45px;
}

.public-form-header p{
    margin:12px 0 0;
    max-width:700px;
    color:#b7b7b7;
    font-size:12px;
    line-height:1.65;
}

.public-form-expiry{
    margin-top:14px;
    color:#929292;
    font-size:10px;
}

.public-errors{
    margin-bottom:18px;
}

.public-survey-form{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.public-question-card{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:16px;
    padding:22px;
    border:1px solid #272727;
    border-radius:8px;
    background:#0b0b0b;
}

.public-question-number{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid #343434;
    border-radius:50%;
    color:#a7a7a7;
    font-size:9px;
    font-weight:700;
}

.public-question-body{
    min-width:0;
}

.public-question-body h2{
    margin:0 0 14px;
    color:#ffffff;
    font-size:14px;
}

.public-question-label{
    display:block;
    color:#ffffff;
    font-size:12px;
    font-weight:700;
    line-height:1.5;
    margin-bottom:9px;
}

.public-question-label span{
    color:#d0d0d0;
}

.public-question-description{
    margin:-2px 0 12px;
    color:#969696;
    font-size:10px;
    line-height:1.55;
}

.public-question-body input[type="text"],
.public-question-body input[type="email"],
.public-question-body input[type="tel"],
.public-question-body input[type="number"],
.public-question-body input[type="date"],
.public-question-body input[type="file"],
.public-question-body select,
.public-question-body textarea{
    width:100%;
    min-height:42px;
    padding:10px 12px;
    border:1px solid #303030;
    border-radius:6px;
    background:#111111;
    color:#ffffff;
    outline:none;
    font-size:11px;
}

.public-question-body textarea{
    resize:vertical;
}

.public-question-body input:focus,
.public-question-body select:focus,
.public-question-body textarea:focus{
    border-color:#707070;
}

.public-two-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.public-options{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.public-options.inline-options{
    flex-direction:row;
    flex-wrap:wrap;
}

.public-options label{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:40px;
    padding:9px 12px;
    border:1px solid #2b2b2b;
    border-radius:6px;
    background:#101010;
    color:#d9d9d9;
    font-size:11px;
    cursor:pointer;
}

.public-options label:hover{
    border-color:#404040;
    background:#141414;
}

.public-options input{
    accent-color:#ffffff;
}

.public-submit-row{
    display:flex;
    justify-content:flex-end;
    padding-top:8px;
}

.public-submit-button{
    min-width:180px;
    min-height:44px;
    padding:0 20px;
    border:1px solid #3b3b3b;
    border-radius:6px;
    background:#181818;
    color:#ffffff;
    font-size:11px;
    font-weight:700;
}

.public-submit-button:hover{
    background:#222222;
}

.public-result-card{
    max-width:620px;
    margin:80px auto 0;
    padding:42px 34px;
    text-align:center;
    border:1px solid #292929;
    border-radius:8px;
    background:#0b0b0b;
}

.public-result-icon{
    width:48px;
    height:48px;
    margin:0 auto 18px;
    display:grid;
    place-items:center;
    border:1px solid #3b3b3b;
    border-radius:50%;
    color:#ffffff;
    font-size:20px;
}

.public-result-icon.muted{
    color:#b0b0b0;
}

.public-result-card h1{
    margin:0 0 10px;
    color:#ffffff;
    font-size:22px;
}

.public-result-card p{
    margin:0 auto;
    max-width:480px;
    color:#b2b2b2;
    font-size:12px;
    line-height:1.6;
}

.public-result-card>span{
    display:block;
    margin-top:18px;
    color:#7f7f7f;
    font-size:9px;
}

.public-form-footer{
    padding:20px 34px;
    border-top:1px solid #1f1f1f;
    color:#797979;
    font-size:9px;
    background:#000000;
}


/* ---------------- Response detail ---------------- */

.answer-list{
    padding:0 20px;
}

.answer-card{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:13px;
    padding:18px 0;
    border-bottom:1px solid #1f1f1f;
}

.answer-card:last-child{
    border-bottom:0;
}

.answer-content>strong{
    color:#ffffff;
    font-size:11px;
    line-height:1.45;
}

.answer-value{
    margin-top:8px;
    padding:11px 13px;
    background:#101010;
    border:1px solid #282828;
    border-radius:6px;
    color:#d8d8d8;
    font-size:11px;
    line-height:1.6;
    white-space:pre-wrap;
}

.file-download-card{
    margin-top:9px;
    padding:12px;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #2d2d2d;
    border-radius:6px;
    background:#101010;
    color:#ffffff;
    text-decoration:none;
}

.file-download-card:hover{
    background:#151515;
}

.file-outline-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid #303030;
    border-radius:6px;
}

.file-download-card>span:last-child{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.file-download-card b{
    font-size:10px;
}

.file-download-card small{
    color:#8d8d8d;
    font-size:9px;
}

@media(max-width:900px){
    .survey-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .question-card{
        grid-template-columns:34px minmax(0,1fr);
    }

    .question-actions{
        grid-column:2;
        justify-content:flex-end;
    }
}

@media(max-width:620px){
    .survey-summary-grid{
        grid-template-columns:1fr;
    }

    .link-share-row{
        flex-direction:column;
        align-items:stretch;
    }

    .public-form-topbar{
        padding:0 16px;
    }

    .public-form-container{
        width:min(100% - 22px,860px);
        padding-top:28px;
    }

    .public-form-header h1{
        font-size:22px;
    }

    .public-question-card{
        grid-template-columns:1fr;
        padding:17px;
    }

    .public-question-number{
        width:30px;
        height:30px;
    }

    .public-two-columns{
        grid-template-columns:1fr;
    }

    .public-submit-button{
        width:100%;
    }

    .answer-card{
        grid-template-columns:30px minmax(0,1fr);
    }
}


/* =========================================================
   ACESSO PUBLICO POR E-MAIL + OTP
========================================================= */

.public-access-shell{
    min-height:calc(100vh - 170px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:52px 0 80px;
}

.public-access-card{
    width:min(100%,560px);
    padding:38px 38px 32px;
    border:1px solid #2a2a2a;
    border-radius:8px;
    background:#0b0b0b;
}

.public-access-icon{
    width:48px;
    height:48px;
    margin:0 auto 18px;
    display:grid;
    place-items:center;
    border:1px solid #343434;
    border-radius:50%;
}

.public-access-icon .svgicon{
    width:20px;
    height:20px;
}

.public-access-meta{
    margin-bottom:8px;
    color:#858585;
    text-align:center;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.45px;
}

.public-access-card>h1{
    margin:0;
    color:#ffffff;
    text-align:center;
    font-size:22px;
}

.public-access-card>p{
    max-width:430px;
    margin:10px auto 24px;
    color:#a9a9a9;
    text-align:center;
    font-size:11px;
    line-height:1.65;
}

.otp-form{
    display:flex;
    flex-direction:column;
    gap:17px;
}

.otp-main-button{
    width:100%;
}

.otp-code-input{
    height:52px !important;
    text-align:center;
    font-size:22px !important;
    font-weight:700;
    letter-spacing:8px;
}

.otp-destination{
    margin-bottom:18px;
    padding:12px 14px;
    border:1px solid #282828;
    border-radius:6px;
    background:#101010;
    color:#a7a7a7;
    text-align:center;
    font-size:10px;
}

.otp-destination strong{
    color:#ffffff;
}

.otp-info,
.otp-success-message{
    margin:0 0 18px;
    padding:11px 13px;
    border:1px solid #2d3c32;
    border-radius:6px;
    background:#101a13;
    color:#b8e0c1;
    font-size:10px;
    line-height:1.55;
}

.otp-secondary-actions{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:17px;
}

.otp-secondary-actions form{
    margin:0;
}

.otp-secondary-actions a,
.otp-link-button{
    padding:0;
    border:0;
    background:transparent;
    color:#bcbcbc;
    text-decoration:underline;
    text-underline-offset:3px;
    font-size:10px;
    cursor:pointer;
}

.otp-secondary-actions a:hover,
.otp-link-button:hover{
    color:#ffffff;
}

.otp-security-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:26px;
    padding-top:20px;
    border-top:1px solid #202020;
    color:#7f7f7f;
    font-size:9px;
}

.otp-security-note .svgicon{
    width:15px;
    height:15px;
    flex:0 0 auto;
}

.access-errors{
    margin-bottom:18px !important;
}

.verified-access-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:18px;
    padding:11px 13px;
    border:1px solid #292929;
    border-radius:6px;
    background:#0f0f0f;
}

.verified-access-left{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.verified-check{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border:1px solid #3a3a3a;
    border-radius:50%;
    color:#ffffff;
    font-size:12px;
}

.verified-access-left>div{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:2px;
}

.verified-access-left strong{
    color:#ffffff;
    font-size:10px;
}

.verified-access-left span{
    overflow:hidden;
    color:#9d9d9d;
    font-size:9px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.verified-access-bar>a{
    color:#bcbcbc;
    font-size:9px;
    white-space:nowrap;
}

.verified-access-bar>a:hover{
    color:#ffffff;
}

@media(max-width:620px){
    .public-access-shell{
        min-height:auto;
        padding:28px 0 50px;
    }

    .public-access-card{
        padding:28px 20px 24px;
    }

    .otp-secondary-actions{
        flex-direction:column;
        align-items:center;
        gap:12px;
    }

    .verified-access-bar{
        align-items:flex-start;
        flex-direction:column;
    }
}



/* =========================================================
   ENVIO DE LEVANTAMENTO POR EMAIL
========================================================= */

.heading-actions .btn .svgicon{
    width:15px;
    height:15px;
    margin-right:7px;
}

.send-form-body{
    padding:20px 22px;
}

.send-form-project{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:14px;
    margin-bottom:16px;
    border:1px solid #282828;
    border-radius:7px;
    background:#101010;
}

.send-form-project>span{
    color:#8d8d8d;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.send-form-project>strong{
    color:#ffffff;
    font-size:12px;
    line-height:1.5;
}

.send-form-project>small{
    color:#9a9a9a;
    font-size:9px;
}

.recipient-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.recipient-option{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:58px;
    padding:11px 13px;
    border:1px solid #2b2b2b;
    border-radius:7px;
    background:#0f0f0f;
    cursor:pointer;
}

.recipient-option:hover{
    background:#141414;
    border-color:#3a3a3a;
}

.recipient-option>input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.recipient-check{
    width:18px;
    height:18px;
    flex:0 0 auto;
    border:1px solid #515151;
    border-radius:4px;
    background:#0a0a0a;
    position:relative;
}

.recipient-option>input:checked + .recipient-check{
    background:#ffffff;
    border-color:#ffffff;
}

.recipient-option>input:checked + .recipient-check:after{
    content:"";
    position:absolute;
    left:5px;
    top:2px;
    width:5px;
    height:9px;
    border:solid #000000;
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}

.recipient-data{
    display:flex;
    flex-direction:column;
    min-width:0;
    gap:2px;
}

.recipient-data>strong{
    color:#ffffff;
    font-size:11px;
}

.recipient-data>span{
    color:#b0b0b0;
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.recipient-data>small{
    color:#747474;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.45px;
}

.send-security-note{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-top:16px;
    padding:12px 13px;
    border:1px solid #282828;
    border-radius:7px;
    color:#9c9c9c;
    font-size:9px;
    line-height:1.55;
}

.send-security-note .svgicon{
    width:15px;
    height:15px;
    flex:0 0 auto;
    margin-top:1px;
}

.send-form-empty{
    padding:32px 22px;
    text-align:center;
}

.send-form-empty strong{
    display:block;
    color:#ffffff;
    font-size:12px;
}

.send-form-empty p{
    max-width:390px;
    margin:8px auto 0;
    color:#9d9d9d;
    font-size:10px;
    line-height:1.6;
}


.manager-copy-block{
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid #242424;
}

.manager-copy-title{
    display:block;
    margin-bottom:8px;
    color:#8d8d8d;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.manager-copy-option{
    background:#0c0c0c;
}
