/* ==========================================================
   Assistente Advocacia — identidade visual AdvSmart
   Tokens extraidos de advsmart.online/sistema-juridico
   ========================================================== */

:root{
    --gold:#D4A027;
    --gold-light:#F0C158;
    --navy:#0A1F3D;
    --navy-2:#0d2a52;
    --navy-deep:#081729;
    --cream:#FBF8F2;
    --muted:#6A7894;
    --ink-soft:#B9C6DE;
    --ink-dim:#8A9BB8;
    --line:rgba(255,255,255,.10);
    --serif:'Playfair Display',Georgia,serif;
    --sans:'DM Sans',system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}

body{
    font-family:var(--sans);
    color:#fff;
    background:var(--navy);
    -webkit-font-smoothing:antialiased;
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

a{text-decoration:none;color:inherit}
img,video{max-width:100%;display:block}
ul{list-style:none}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px;width:100%}
.wrap-sm{max-width:560px;margin:0 auto;padding:0 24px;width:100%}

/* ---------- Header ---------- */
.hdr{background:var(--navy-deep);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1180px;margin:0 auto}
.hdr-logo{display:flex;align-items:center;gap:10px}
.hdr-logo-ic{width:32px;height:32px;border-radius:8px;background:var(--gold);display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:16px}
.hdr-logo-tx{font-family:var(--serif);font-size:19px;font-weight:600;color:#fff;letter-spacing:.2px}
.hdr-nav{display:flex;align-items:center;gap:18px}
.hdr-nav a.lnk{font-size:13px;color:var(--ink-soft);transition:color .15s}
.hdr-nav a.lnk:hover{color:#fff}
.hdr-nav a.lnk.on{color:var(--gold-light);font-weight:600}
.hdr-user{font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:7px}
.hdr-user i{color:var(--gold)}
.hdr-out{font-size:13px;color:#fff;padding:8px 14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:none;font-family:var(--sans);cursor:pointer;transition:all .15s}
.hdr-out:hover{border-color:var(--gold);color:var(--gold-light)}

/* ---------- Shell ---------- */
.page{flex:1;padding:44px 0 56px;position:relative;overflow:hidden}
.page::before{content:"";position:absolute;top:-320px;left:50%;transform:translateX(-50%);width:900px;height:640px;background:radial-gradient(circle,rgba(212,160,39,.13),transparent 62%);pointer-events:none}
.page-in{position:relative}

.page-head{margin-bottom:32px}
.eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(212,160,39,.16);color:var(--gold-light);font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;padding:6px 15px;border-radius:99px}
.page-title{font-family:var(--serif);font-size:clamp(28px,4.5vw,40px);font-weight:600;color:#fff;line-height:1.1;margin:14px 0 6px}
.page-title em{color:var(--gold-light);font-style:italic}
.page-sub{font-size:15px;color:var(--ink-soft);line-height:1.6}

/* ---------- Cards escuros ---------- */
.card{background:linear-gradient(135deg,var(--navy-2),#123059);border:1px solid var(--line);border-radius:16px;padding:26px 24px;transition:transform .2s,box-shadow .2s,border-color .2s}
.card-t{font-family:var(--serif);font-size:19px;font-weight:600;color:#fff;margin-bottom:6px}
.card-d{font-size:13.5px;color:var(--ink-soft);line-height:1.6}
.card-ic{width:52px;height:52px;border-radius:13px;background:rgba(240,193,88,.14);display:flex;align-items:center;justify-content:center;color:var(--gold-light);font-size:23px;margin-bottom:14px}

.card-link:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.3);border-color:rgba(212,160,39,.45)}
.card-on{border:2px solid var(--gold)}
.card-off{opacity:.42}

.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}

.tag{display:inline-block;background:var(--gold);color:var(--navy);font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:4px 11px;border-radius:99px}
.tag-soft{background:rgba(240,193,88,.16);color:var(--gold-light)}

.card-more{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--gold-light)}

/* ---------- Painel / listas ---------- */
.panel{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:16px;padding:26px 24px}
.panel-t{font-family:var(--serif);font-size:21px;font-weight:600;color:#fff;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);transition:border-color .18s,transform .18s}
.row + .row{margin-top:10px}
.row:hover{border-color:rgba(212,160,39,.45);transform:translateY(-2px)}
.row-t{font-size:15px;font-weight:700;color:#fff}
.row-d{font-size:12.5px;color:var(--ink-dim);margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row-go{font-size:13px;font-weight:700;color:var(--gold-light);white-space:nowrap}

.pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:99px}
.pill-open{background:rgba(37,211,102,.16);color:#4ADE80}
.pill-pending{background:rgba(212,160,39,.18);color:var(--gold-light)}
.pill-closed{background:rgba(255,255,255,.10);color:var(--ink-soft)}

.empty{text-align:center;padding:34px 18px}
.empty-ic{width:60px;height:60px;border-radius:50%;background:rgba(212,160,39,.14);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--gold-light);font-size:25px}
.empty-t{font-size:15px;font-weight:700;color:#fff;margin-bottom:5px}
.empty-d{font-size:13.5px;color:var(--ink-soft)}

/* ---------- Botoes ---------- */
.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--gold);color:var(--navy);font-family:var(--sans);font-size:15px;font-weight:700;padding:14px 28px;border:none;border-radius:12px;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(212,160,39,.4)}

.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:rgba(255,255,255,.08);color:#fff;font-family:var(--sans);font-size:15px;font-weight:600;padding:14px 24px;border:1px solid rgba(255,255,255,.18);border-radius:12px;cursor:pointer;transition:all .15s}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-light)}

.btn-sm{font-size:13px;padding:10px 18px;border-radius:10px}
.btn-full{width:100%}
.btn-line{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Auth: navy com card branco ---------- */
.auth{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px;position:relative;overflow:hidden;background:linear-gradient(165deg,var(--navy) 0%,var(--navy-2) 100%)}
.auth::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(212,160,39,.14),transparent 62%)}
.auth-in{position:relative;width:100%;max-width:460px}
.auth-brand{text-align:center;margin-bottom:26px}
.auth-brand-ic{width:52px;height:52px;border-radius:14px;background:var(--gold);display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:24px;margin:0 auto 13px}
.auth-brand-tx{font-family:var(--serif);font-size:25px;font-weight:600;color:#fff}
.auth-brand-sub{font-size:13px;color:var(--ink-dim);margin-top:4px}

.auth-card{background:#fff;border-radius:20px;padding:36px 32px 30px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.auth-t{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--navy);margin-bottom:5px}
.auth-d{font-size:13.5px;color:var(--muted);margin-bottom:24px}
.auth-foot{font-size:13px;color:var(--muted);text-align:center;margin-top:20px;padding-top:18px;border-top:1px solid rgba(10,31,61,.09)}
.auth-foot a{color:#B0842A;font-weight:700}
.auth-foot a:hover{text-decoration:underline}

/* ---------- Formularios (fundo branco) ---------- */
.form{display:grid;gap:15px}
.field label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;font-family:var(--sans);font-size:15px;color:var(--navy);background:#fff;border:1.5px solid rgba(10,31,61,.14);border-radius:11px;padding:13px 14px;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,160,39,.15)}
.field textarea{resize:vertical;min-height:110px;line-height:1.55}
.field-hint{font-size:12px;color:var(--muted);margin-top:5px}

/* Formularios sobre fundo escuro */
.form-dark .field label{color:var(--gold-light)}
.form-dark .field input,.form-dark .field textarea{background:rgba(255,255,255,.06);border:1.5px solid var(--line);color:#fff}
.form-dark .field input::placeholder,.form-dark .field textarea::placeholder{color:#6E82A3}
.form-dark .field input:focus,.form-dark .field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,160,39,.18);background:rgba(255,255,255,.09)}
.form-dark .field-hint{color:var(--ink-dim)}

/* ---------- Alertas ---------- */
.alert{border-radius:12px;padding:13px 17px;font-size:13.5px;font-weight:600;margin-bottom:18px;display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.alert i{margin-top:2px}
.alert-ok{background:#E7F6EC;color:#0A6B3B;border:1px solid #B6E2C6}
.alert-err{background:#FDECEC;color:#A32020;border:1px solid #F5C4C4}
.alert-err ul{margin:0}
.alert-err li + li{margin-top:3px}
.alert-ok-dark{background:rgba(37,211,102,.12);color:#4ADE80;border:1px solid rgba(37,211,102,.3)}
.alert-err-dark{background:rgba(220,38,38,.14);color:#FCA5A5;border:1px solid rgba(220,38,38,.32)}

/* ---------- Chat ---------- */
.chat{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.chat-hd{padding:15px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:#fff}
.chat-hd i{color:var(--gold)}
.chat-body{height:420px;overflow-y:auto;padding:20px}
.chat-body::-webkit-scrollbar{width:6px}
.chat-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:99px}
.msg{margin-bottom:14px;display:flex}
.msg-user{justify-content:flex-end}
.bubble{max-width:78%;padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
.msg-user .bubble{background:var(--gold);color:var(--navy);border-bottom-right-radius:4px;font-weight:500}
.msg-ai .bubble{background:rgba(255,255,255,.07);color:#E8EEF8;border:1px solid var(--line);border-bottom-left-radius:4px}
.chat-empty{text-align:center;color:var(--ink-dim);font-size:13.5px;padding:60px 20px}
.chat-ft{padding:15px 20px;border-top:1px solid var(--line);display:flex;gap:10px}
.chat-ft input{flex:1;font-family:var(--sans);font-size:14.5px;color:#fff;background:rgba(255,255,255,.06);border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}
.chat-ft input::placeholder{color:#6E82A3}
.chat-ft input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,160,39,.18)}
.typing{display:inline-flex;gap:4px;align-items:center}
.typing span{width:6px;height:6px;border-radius:50%;background:var(--gold-light);animation:blink 1.2s infinite}
.typing span:nth-child(2){animation-delay:.2s}
.typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}

/* ---------- Sidebar do caso ---------- */
.side{display:grid;gap:16px;align-content:start}
.side-t{font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold-light);margin-bottom:13px}
.meta{font-size:13.5px;color:var(--ink-soft);line-height:1.6}
.meta + .meta{margin-top:9px}
.meta b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:2px}
.doc-li{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-soft);padding:9px 0;border-bottom:1px solid var(--line)}
.doc-li:last-child{border-bottom:none}
.doc-li i{color:var(--gold);font-size:14px}

.split{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start}

.file-in{width:100%;font-size:13px;color:var(--ink-soft);background:rgba(255,255,255,.06);border:1.5px dashed var(--line);border-radius:11px;padding:13px 14px;cursor:pointer}
.file-in::file-selector-button{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--navy);background:var(--gold-light);border:none;border-radius:7px;padding:7px 13px;margin-right:11px;cursor:pointer}

/* ---------- Footer ---------- */
.ftr{background:var(--navy-deep);border-top:1px solid var(--line);padding:26px 24px;text-align:center}
.ftr-tx{font-size:12.5px;color:#7A8BA8}

/* ---------- Responsivo ---------- */
@media(max-width:820px){
    .split{grid-template-columns:1fr}
}
@media(max-width:560px){
    .hdr-in{padding:12px 16px;gap:10px}
    .hdr-logo-tx{font-size:16px}
    .hdr-user span{display:none}
    .page{padding:30px 0 40px}
    .wrap,.wrap-sm{padding:0 16px}
    .auth-card{padding:28px 22px 24px}
    .card,.panel{padding:20px 18px}
    .row{flex-direction:column;align-items:flex-start;gap:9px}
    .chat-body{height:340px}
    .bubble{max-width:88%}
    .btn-line{flex-direction:column}
    .btn-line .btn-gold,.btn-line .btn-ghost{width:100%}
}
@media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
}

/* ---------- Markdown dentro das bolhas do chat ---------- */
.bubble strong{font-weight:700;color:#fff}
.msg-user .bubble strong{color:var(--navy)}
.bubble em{font-style:italic}
.bubble .md-h,.plano-feito-res .md-h{display:block;font-family:var(--serif);font-size:15.5px;font-weight:600;color:var(--gold-light);margin:14px 0 6px}
.bubble .md-h:first-child,.plano-feito-res .md-h:first-child{margin-top:0}
.bubble .md-li,.plano-feito-res .md-li{display:block;padding-left:16px;position:relative;margin:3px 0}
.bubble .md-li::before,.plano-feito-res .md-li::before{content:"\2022";position:absolute;left:2px;color:var(--gold)}
.bubble .md-li.md-num::before,.plano-feito-res .md-li.md-num::before{content:attr(data-n);left:0;font-size:12.5px;font-weight:700}
.bubble .md-li.md-num,.plano-feito-res .md-li.md-num{padding-left:22px}
.bubble .md-br,.plano-feito-res .md-br{display:block;height:9px}
.bubble .md-hr,.plano-feito-res .md-hr{border:none;border-top:1px solid var(--line);margin:12px 0}
.bubble code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;background:rgba(0,0,0,.28);padding:2px 6px;border-radius:5px}
.msg-user .bubble code{background:rgba(10,31,61,.14)}
.bubble pre{background:#081729;color:#D8E3F2;border:1px solid var(--line);border-radius:10px;padding:13px 14px;margin:10px 0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-word}
.msg-ai .bubble{max-width:100%}
.msg-ai{display:block}

/* ---------- Status de leitura dos documentos ---------- */
.doc-li{flex-wrap:wrap}
.doc-nome{flex:1;min-width:0;word-break:break-word}
.doc-tag{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:99px;white-space:nowrap}
.doc-lido{background:rgba(37,211,102,.16);color:#4ADE80}
.doc-naolido{background:rgba(212,160,39,.16);color:var(--gold-light)}

/* ---------- Botao de perigo e modal de confirmacao ---------- */
.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:rgba(220,38,38,.14);color:#FCA5A5;font-family:var(--sans);font-weight:700;border:1px solid rgba(220,38,38,.35);border-radius:10px;padding:10px 18px;font-size:13px;cursor:pointer;transition:all .15s}
.btn-danger:hover{background:rgba(220,38,38,.24);color:#fff;border-color:rgba(220,38,38,.6)}
.modal-bg{display:none;position:fixed;inset:0;background:rgba(4,8,18,.72);z-index:200;align-items:center;justify-content:center;padding:20px}
.modal-card{background:linear-gradient(135deg,var(--navy-2),#123059);border:1px solid var(--line);border-radius:18px;padding:30px 28px;max-width:420px;width:100%;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.modal-ic{width:58px;height:58px;border-radius:50%;background:rgba(220,38,38,.16);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#FCA5A5;font-size:25px}
.modal-t{font-family:var(--serif);font-size:20px;font-weight:600;color:#fff;margin-bottom:8px}
.modal-d{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:22px}
.modal-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.modal-btns form{margin:0}

/* ---------- Barra de progresso das fases do caso ---------- */
.fase-bar{display:flex;gap:4px;margin-top:18px;overflow-x:auto;padding-bottom:4px}
.fase-item{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;min-width:76px;position:relative}
.fase-item::before{content:"";position:absolute;top:6px;left:-50%;width:100%;height:2px;background:rgba(255,255,255,.12);z-index:0}
.fase-item:first-child::before{display:none}
.fase-dot{width:13px;height:13px;border-radius:50%;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.2);z-index:1;position:relative}
.fase-label{font-size:10.5px;color:var(--ink-dim);text-align:center;white-space:nowrap}
.fase-feita .fase-dot{background:var(--gold);border-color:var(--gold)}
.fase-feita::before{background:var(--gold)}
.fase-feita .fase-label{color:var(--ink-soft)}
.fase-atual .fase-dot{background:var(--navy);border-color:var(--gold-light);box-shadow:0 0 0 4px rgba(240,193,88,.2)}
.fase-atual .fase-label{color:var(--gold-light);font-weight:700}

/* ---------- Cards editaveis (cliente e processo) ---------- */
.card-edit-btn{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--ink-soft);width:26px;height:26px;border-radius:7px;cursor:pointer;font-size:11px;transition:all .15s}
.card-edit-btn:hover{border-color:var(--gold);color:var(--gold-light)}
.side-t{display:flex;align-items:center;justify-content:space-between;gap:8px}
.card-edit-form{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);max-height:480px;overflow-y:auto}
.card-edit-form.aberto{display:grid}
.card-view .meta{margin-bottom:9px}

/* ---------- Card 3: Movimentacoes ---------- */
.mov-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.mov-item:last-of-type{border-bottom:none}
.mov-date{font-size:11px;font-weight:700;color:var(--gold-light);white-space:nowrap;min-width:64px}
.mov-desc{flex:1;min-width:140px;font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.mov-tag{font-size:9px;padding:2px 8px}
.mov-del{margin-left:auto}
.mov-del button{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:12px;padding:2px 4px;transition:color .15s}
.mov-del button:hover{color:#FCA5A5}

/* ---------- Card 5: Tarefas ---------- */
.task-item{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.task-item:last-of-type{border-bottom:none}
.task-check button{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:17px;padding:0;line-height:1;transition:color .15s}
.task-check button:hover{color:var(--gold-light)}
.task-done .task-check button{color:#4ADE80}
.task-body{flex:1;min-width:0}
.task-title{font-size:14px;font-weight:600;color:#fff}
.task-done .task-title{color:var(--ink-dim);text-decoration:line-through}
.task-desc{font-size:12.5px;color:var(--ink-dim);margin-top:2px}
.task-meta{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:11.5px;color:var(--ink-dim);flex-wrap:wrap}
.task-prazo-vencido{color:#FCA5A5;font-weight:700}
.task-vencida{background:rgba(220,38,38,.06);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px}
.task-del button{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:12px;padding:2px 4px;transition:color .15s}
.task-del button:hover{color:#FCA5A5}
.task-feitas-tit{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin:14px 0 6px;padding-top:10px;border-top:1px solid var(--line)}

/* ---------- Busca automatica pelo numero CNJ ---------- */
.cnj-lookup{display:flex;gap:8px;margin-top:12px}
.cnj-lookup input{flex:1;font-family:var(--sans);font-size:13px;color:#fff;background:rgba(255,255,255,.06);border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;transition:border-color .15s}
.cnj-lookup input::placeholder{color:#6E82A3}
.cnj-lookup input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,160,39,.18)}
.cnj-lookup .btn-gold{white-space:nowrap;padding:10px 16px}
.cnj-hint{margin-top:6px;font-size:11px}

/* ---------- Documentos gerados pela IA / download / remover ---------- */
.doc-baixar{color:var(--gold-light);font-size:12px;padding:2px 6px;transition:color .15s;text-decoration:none}
.doc-baixar:hover{color:#fff}
.doc-remover{background:none;border:none;color:var(--ink-dim);cursor:pointer;font-size:12px;padding:2px 4px;transition:color .15s}
.doc-remover:hover{color:#FCA5A5}

/* ---------- Modelo do escritorio (settings) ---------- */
.tpl-atual{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap}
.tpl-atual i{font-size:22px;color:var(--gold-light)}
.tpl-atual-info{flex:1;min-width:150px}
.tpl-atual-nome{font-size:14px;font-weight:700;color:#fff;word-break:break-word}
.tpl-atual-tag{font-size:11.5px;color:var(--ink-dim);margin-top:2px}
.tpl-atual form{margin:0}

/* ---------- Motor de etapas (plano do caso) ---------- */
.plano-panel{margin-bottom:20px}
.plano-atual{background:rgba(212,160,39,.06);border:1.5px solid rgba(212,160,39,.3);border-radius:12px;padding:16px}
.plano-titulo{font-family:var(--serif);font-size:17px;font-weight:600;color:#fff;margin:10px 0 6px}
.plano-desc{font-size:13.5px;color:var(--ink-soft);line-height:1.6}
.plano-tipo-documento{background:rgba(74,222,128,.16);color:#4ADE80}
.plano-tipo-tarefa{background:rgba(96,165,250,.16);color:#60A5FA}
.plano-tipo-analise{background:rgba(240,193,88,.16);color:var(--gold-light)}
.plano-proximas{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.plano-prox-item{font-size:12.5px;color:var(--ink-dim);padding:5px 0;padding-left:16px;position:relative}
.plano-prox-item::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.18)}
.plano-feito{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.plano-feito:last-of-type{border-bottom:none}
.plano-feito i{color:#4ADE80;font-size:14px;margin-top:2px}
.plano-feito-tit{font-size:13.5px;font-weight:600;color:#fff}
.plano-feito-res{font-size:12px;color:var(--ink-dim);margin-top:2px;line-height:1.5}

/* ---------- Overlay de carregamento da IA ---------- */
.ia-overlay{display:none;position:fixed;inset:0;z-index:500;background:rgba(4,8,18,.82);backdrop-filter:blur(3px);align-items:center;justify-content:center}
.ia-overlay.ativo{display:flex}
.ia-overlay-card{display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px}
.ia-orb{position:relative;width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,var(--gold-light),var(--gold) 60%,#8a6410 100%);box-shadow:0 0 0 0 rgba(212,160,39,.5);animation:ia-pulso 1.8s ease-in-out infinite;color:var(--navy);font-size:32px}
.ia-orb::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(212,160,39,.35);animation:ia-anel 1.8s ease-out infinite}
.ia-orb i{animation:ia-icon 2.4s ease-in-out infinite}
@keyframes ia-pulso{0%,100%{box-shadow:0 0 0 0 rgba(212,160,39,.45)}50%{box-shadow:0 0 0 18px rgba(212,160,39,0)}}
@keyframes ia-anel{0%{transform:scale(.85);opacity:1}100%{transform:scale(1.5);opacity:0}}
@keyframes ia-icon{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.ia-overlay-msg{font-family:var(--serif);font-size:18px;font-weight:600;color:#fff;text-align:center;max-width:340px;min-height:26px}
.ia-overlay-dots{display:flex;gap:6px}
.ia-overlay-dots span{width:8px;height:8px;border-radius:50%;background:var(--gold-light);animation:ia-dot 1.2s infinite}
.ia-overlay-dots span:nth-child(2){animation-delay:.2s}
.ia-overlay-dots span:nth-child(3){animation-delay:.4s}
@keyframes ia-dot{0%,80%,100%{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){
    .ia-orb,.ia-orb::before,.ia-orb i,.ia-overlay-dots span{animation:none!important}
}

/* ---------- Raio-X do caso ---------- */
.raiox-panel{margin-bottom:20px}
.raiox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:4px}
.raiox-col-tit{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-light);margin-bottom:8px}
.raiox-item{border-radius:10px;padding:10px 12px;margin-bottom:8px;border-left:3px solid transparent}
.raiox-item p{font-size:13px;color:#fff;line-height:1.5;margin:4px 0 0}
.raiox-selo{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:20px;display:inline-block}
.raiox-origem{display:block;font-size:11px;color:var(--ink-dim);margin-top:5px;font-style:italic}
.raiox-confirmado{background:rgba(74,222,128,.08);border-left-color:#4ADE80}
.raiox-confirmado .raiox-selo{background:rgba(74,222,128,.18);color:#4ADE80}
.raiox-inferencia{background:rgba(212,160,39,.07);border-left-color:var(--gold)}
.raiox-inferencia .raiox-selo{background:rgba(212,160,39,.18);color:var(--gold-light)}
.raiox-nao_confirmado{background:rgba(255,255,255,.03);border-left-color:var(--ink-dim)}
.raiox-nao_confirmado .raiox-selo{background:rgba(255,255,255,.08);color:var(--ink-dim)}

/* ---------- Revisor de peticoes ---------- */
.doc-revisar{background:none;border:none;color:var(--gold-light);cursor:pointer;font-size:12px;padding:2px 6px;transition:color .15s}
.doc-revisar:hover{color:#fff}
.doc-revisao{margin:6px 0 14px 26px;padding:12px 14px;background:rgba(255,255,255,.03);border-radius:10px;border-left:2px solid var(--gold)}
.doc-revisao-tit{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--gold-light);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.doc-revisao-quando{margin-left:auto;font-weight:400;text-transform:none;color:var(--ink-dim);font-size:11px}
.doc-revisao-ok{font-size:13px;color:#4ADE80;margin:0}
.doc-revisao-ok i{margin-right:6px}
.doc-problema{padding:9px 0;border-bottom:1px solid var(--line)}
.doc-problema:last-child{border-bottom:none}
.doc-problema-selo{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:20px;display:inline-block;margin-bottom:5px}
.doc-grav-alta .doc-problema-selo{background:rgba(220,38,38,.18);color:#FCA5A5}
.doc-grav-media .doc-problema-selo{background:rgba(212,160,39,.18);color:var(--gold-light)}
.doc-grav-baixa .doc-problema-selo{background:rgba(255,255,255,.08);color:var(--ink-dim)}
.doc-problema-texto{font-size:13px;color:#fff;line-height:1.5;margin:0 0 4px}
.doc-problema-sugestao{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:0 0 3px}
.doc-problema-fonte{font-size:11.5px;color:var(--ink-dim);font-style:italic;margin:0}

/* ---------- Situacao do caso (fluxo criminal) ---------- */
.situacao-form{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.situacao-label{font-size:12px;font-weight:700;color:var(--gold-light);display:flex;align-items:center;gap:6px;white-space:nowrap}
.situacao-form select{font-family:var(--sans);font-size:13px;color:#fff;background:rgba(255,255,255,.06);border:1.5px solid var(--line);border-radius:10px;padding:8px 12px;transition:border-color .15s;cursor:pointer}
.situacao-form select:focus{outline:none;border-color:var(--gold)}
.situacao-objetivo{font-size:12.5px;color:var(--ink-dim);margin:6px 0 0;font-style:italic;max-width:640px}

/* ---------- Prazos ---------- */
.prazo-item{border-radius:10px;padding:12px 14px;margin-bottom:10px;border-left:3px solid var(--ink-dim);background:rgba(255,255,255,.03)}
.prazo-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.prazo-data{font-size:13.5px;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px}
.prazo-selo-conf{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:20px}
.prazo-alta .prazo-selo-conf{background:rgba(74,222,128,.18);color:#4ADE80}
.prazo-alta{border-left-color:#4ADE80}
.prazo-media .prazo-selo-conf{background:rgba(212,160,39,.18);color:var(--gold-light)}
.prazo-media{border-left-color:var(--gold)}
.prazo-baixa .prazo-selo-conf{background:rgba(255,255,255,.08);color:var(--ink-dim)}
.prazo-baixa{border-left-color:var(--ink-dim)}
.prazo-vencido{border-left-color:#DC2626!important;background:rgba(220,38,38,.06)}
.prazo-vencido .prazo-data{color:#FCA5A5}
.prazo-confirmado{opacity:.8}
.prazo-evento{font-size:13px;color:#fff;line-height:1.5;margin:0 0 3px}
.prazo-regra{font-size:12px;color:var(--ink-dim);font-style:italic;margin:0 0 10px}
.prazo-acoes{display:flex;align-items:center;gap:10px}
.prazo-confirmado-tag{font-size:12px;color:#4ADE80;display:flex;align-items:center;gap:5px}

/* ---------- Pesquisa Juridica ---------- */
.pesquisa-form{display:flex;gap:8px;margin:10px 0 14px}
.pesquisa-form input{flex:1;font-family:var(--sans);font-size:13px;color:#fff;background:rgba(255,255,255,.06);border:1.5px solid var(--line);border-radius:10px;padding:9px 12px}
.pesquisa-form input:focus{outline:none;border-color:var(--gold)}
.pesquisa-item{border-radius:10px;padding:12px 14px;margin-bottom:10px;border-left:3px solid var(--ink-dim);background:rgba(255,255,255,.03)}
.pesquisa-alta{border-left-color:#4ADE80}
.pesquisa-media{border-left-color:var(--gold)}
.pesquisa-baixa{border-left-color:#DC2626}
.pesquisa-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.pesquisa-selo-conf{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:20px;background:rgba(255,255,255,.08);color:var(--ink-dim)}
.pesquisa-alta .pesquisa-selo-conf{background:rgba(74,222,128,.18);color:#4ADE80}
.pesquisa-baixa .pesquisa-selo-conf{background:rgba(220,38,38,.18);color:#FCA5A5}
.pesquisa-assunto{font-size:13.5px;font-weight:700;color:#fff;margin:0 0 4px}
.pesquisa-meta{font-size:11.5px;color:var(--gold-light);margin:0 0 6px}
.pesquisa-resumo{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:0 0 10px}
.pesquisa-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pesquisa-link{font-size:12px;color:var(--gold-light);text-decoration:none;display:flex;align-items:center;gap:5px}
.pesquisa-link:hover{color:#fff}
.pesquisa-sem-fonte{font-size:11.5px;color:#FCA5A5;display:flex;align-items:center;gap:5px}
