:root{
  --orange:#FD5101;--orange2:#ff6a24;--black:#000;--white:#fff;
  --bg:#090909;--surface:#141414;--surface2:#1d1d1d;--gray:#c6c6c6;
  --muted:#777;--border:rgba(255,255,255,.09);--green:#4ade80;--red:#ff6b6b;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{min-height:100vh;background:var(--bg);color:var(--white);font-family:'Outfit',sans-serif}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.topnav{position:sticky;top:0;z-index:80;height:65px;padding:0 48px;display:flex;align-items:center;gap:28px;background:rgba(0,0,0,.96);border-bottom:1px solid var(--border)}
.nav-logo{margin-right:auto;color:#fff;text-decoration:none;font-family:'Unbounded',sans-serif;font-weight:900;font-size:20px}
.nav-logo span{color:var(--orange)}.nav-logo sup{font:400 9px 'Outfit';color:var(--muted);margin-left:2px}
.nav-back{color:var(--muted);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.nav-back::before{content:'←';margin-right:8px;color:var(--orange)}
.nav-back:hover{color:#fff}
.nav-badge{padding:6px 12px;background:var(--orange);color:#000;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.privacy-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:11px 24px;background:rgba(74,222,128,.07);border-bottom:1px solid rgba(74,222,128,.18)}
.privacy-icon{font-size:18px}.privacy-banner div{display:flex;gap:8px;align-items:baseline}.privacy-banner strong{font-size:12px;color:var(--green)}.privacy-banner span:last-child{font-size:12px;color:var(--muted)}
.tool-hero{padding:46px max(48px,calc((100vw - 1440px)/2));display:flex;align-items:flex-end;justify-content:space-between;gap:32px;border-bottom:1px solid var(--border)}
.eyebrow{color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px}
.tool-hero h1{font:900 clamp(32px,4.3vw,62px)/.92 'Unbounded',sans-serif;letter-spacing:-.045em;margin-bottom:18px}
.tool-hero>div>p:last-child{max-width:650px;color:var(--muted);font-size:15px;line-height:1.6}
.hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hero-actions .btn{padding:10px 14px}.hero-actions .btn span{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:6px;border-radius:50%;background:rgba(255,255,255,.1);font-size:10px;color:#fff}
.workspace{max-width:1440px;margin:0 auto;padding:36px 48px 80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);gap:28px;align-items:start}
.form-column{display:flex;flex-direction:column;gap:16px}
.form-card{background:var(--surface);border:1px solid var(--border);padding:26px}
.card-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px;position:relative}
.card-heading>span{font:700 10px 'Unbounded';color:var(--orange);letter-spacing:.12em;padding-top:3px}
.card-heading h2{font:700 15px 'Unbounded';letter-spacing:-.02em;margin-bottom:5px}
.card-heading p{color:var(--muted);font-size:12px;line-height:1.45}
.card-heading .mini-btn{margin-left:auto}
.type-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.type-switch input{position:absolute;opacity:0;pointer-events:none}
.type-switch span{display:block;padding:16px;text-align:center;background:var(--surface2);border:1px solid var(--border);color:var(--gray);font-weight:700;transition:.2s}
.type-switch input:checked+span{border-color:var(--orange);color:#fff;background:rgba(253,81,1,.1);box-shadow:inset 0 -2px var(--orange)}
.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:1.15fr 1fr .75fr}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field:last-child{margin-bottom:0}
.field label{color:#969696;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.field input,.field textarea,.field select{width:100%;padding:11px 13px;color:#fff;background:var(--surface2);border:1px solid var(--border);outline:none;border-radius:0;font-size:14px;font-weight:300;transition:border-color .2s,background .2s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange);background:#222}
.field input.invalid{border-color:var(--red)}
.field textarea{resize:vertical;line-height:1.55}
.field small{min-height:15px;color:var(--muted);font-size:11px;line-height:1.3}
.field small.validation.error{color:var(--red)}.field small.validation.ok{color:var(--green)}
.field-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}
.court-search-field{position:relative}
.court-suggestions{position:absolute;z-index:45;top:61px;left:0;right:0;max-height:340px;overflow:auto;background:#fff;border:1px solid #cfcfcf;box-shadow:0 18px 45px rgba(0,0,0,.5)}
.court-suggestion{display:block;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #e5e5e5;background:#fff;color:#111;text-align:left}
.court-suggestion:last-child{border-bottom:0}.court-suggestion:hover,.court-suggestion.active{background:#fff1ea}
.court-suggestion strong{display:block;color:#111;font-size:13px;line-height:1.35}.court-suggestion span{display:block;margin-top:3px;color:#666;font-size:11px;line-height:1.35}
.court-suggestion-empty{padding:15px;color:#666;font-size:12px;background:#fff}
.court-info{margin:-2px 0 18px;padding:15px 16px;background:rgba(253,81,1,.055);border:1px solid rgba(253,81,1,.22);font-size:11px;line-height:1.5}
.court-info>div{display:flex;flex-direction:column;gap:3px;margin-bottom:9px}.court-info strong{color:#fff;font-size:12px}.court-info span,.court-info p{color:var(--muted)}
.court-info p+p{margin-top:5px}.court-info a{display:inline-block;margin-top:9px;color:var(--orange);text-decoration:none;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:9px}
.court-info a:hover{text-decoration:underline}
.check{display:flex;align-items:flex-start;gap:10px;margin-top:12px;color:var(--gray);font-size:13px;line-height:1.4}
.check input{margin-top:2px;accent-color:var(--orange)}
.review-check{padding:14px;background:rgba(253,81,1,.07);border:1px solid rgba(253,81,1,.18);margin:0 0 18px}
.output-mode{margin-top:2px;padding:11px 13px;border-left:3px solid var(--orange);background:rgba(253,81,1,.06);color:#bbb;font-size:12px;line-height:1.45}
.mini-btn,.save-line{border:1px solid rgba(253,81,1,.35);background:transparent;color:var(--orange);padding:7px 11px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.save-line{width:100%;padding:10px;margin-top:6px}.mini-btn:hover,.save-line:hover{background:rgba(253,81,1,.08)}
.btn{border:1px solid transparent;padding:13px 18px;color:#fff;background:transparent;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:.2s}
.btn-primary{color:#000;background:var(--orange);border-color:var(--orange)}.btn-primary:hover{background:var(--orange2)}
.btn-secondary{border-color:var(--orange);color:var(--orange)}.btn-secondary:hover{background:rgba(253,81,1,.08)}
.btn-ghost{border-color:var(--border);color:var(--gray)}.btn-ghost:hover{border-color:var(--orange);color:#fff}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-errors{margin-bottom:14px;padding:12px 14px;border:1px solid rgba(255,107,107,.35);background:rgba(255,107,107,.08);color:#ffadad;font-size:12px;line-height:1.5}
.preview-column{position:sticky;top:88px}
.preview-toolbar{height:48px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;background:#111;border:1px solid var(--border);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.preview-toolbar button{border:0;background:transparent;color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.live-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(74,222,128,.08)}
.paper{min-height:770px;padding:58px 52px;background:#fff;color:#111;box-shadow:0 20px 60px rgba(0,0,0,.25);font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.55}
.paper .doc-title{text-align:center;font-size:18px;font-weight:700;letter-spacing:.02em;text-decoration:underline;margin-bottom:28px}
.paper .doc-court{text-align:center;font-weight:700;text-transform:uppercase;margin-bottom:6px}
.paper .doc-courtMeta{text-align:center;font-weight:700;text-transform:uppercase;margin-bottom:6px}
.paper .doc-court-address{text-align:center;margin-bottom:28px}
.paper .doc-date{text-align:right;margin:22px 0}
.paper .doc-recipient{margin:18px 0 24px}.paper .doc-recipient strong{display:block;margin-bottom:3px}
.paper .sd{font-weight:700;letter-spacing:.45em;margin:14px 0 24px}
.paper p{white-space:pre-wrap;text-align:justify;margin-bottom:17px}
.paper .doc-case-paragraph strong{font-weight:700}.paper .doc-decree{font-style:italic}
.paper .doc-closing{margin-top:24px}.paper .doc-signature{margin-top:64px;text-align:center;white-space:pre-line}
.paper .doc-professionalHeader{margin:0 0 78px;text-align:right;white-space:pre-line;line-height:1.35}
.paper .doc-exhortoCourt,.paper .doc-exhortoRecipient,.paper .doc-exhortoSalutation{font-weight:700;text-align:left;white-space:pre-line;margin-bottom:8px}
.paper[data-document-type="cedula"]{padding:42px 48px 58px 170px}
.paper[data-document-type="cedula"] .doc-title{margin-bottom:46px}
.paper[data-document-type="cedula"] .doc-date,.paper[data-document-type="cedula"] .doc-court,.paper[data-document-type="cedula"] .doc-court-address{text-align:left;text-transform:none;font-weight:400;margin:0 0 12px}
.paper[data-document-type="cedula"] .doc-court-address{margin-bottom:16px}
.paper[data-document-type="cedula"] .doc-recipient{line-height:2.05;margin:8px 0 42px}
.paper[data-document-type="cedula"] .doc-recipient strong{display:inline;margin-right:4px;text-decoration:underline;font-weight:400}
.paper[data-document-type="cedula"] p{line-height:1.75}
.paper[data-document-type="oficio"] .doc-title{margin-bottom:42px}
.paper[data-document-type="oficio"] .doc-recipient{font-weight:700;text-transform:uppercase;line-height:1.75;margin-top:44px}
.paper[data-document-type="oficio"] .sd{letter-spacing:0;margin-bottom:50px}
.paper[data-document-type="exhorto"]{padding:34px 34px 52px 72px;font-family:'Times New Roman',Times,serif;font-size:14px;line-height:1.55}
.paper[data-document-type="exhorto"] .doc-exhortoCourt{margin-bottom:8px}
.paper[data-document-type="exhorto"] .doc-exhortoSalutation{margin-bottom:14px}
.paper[data-document-type="exhorto"] .doc-case-paragraph{text-indent:2.5em}
.paper[data-document-type="exhorto"] .doc-closing{text-align:center}
.paper .placeholder{color:#aaa;font-style:italic}
.print-copy{display:none}
.preview-note{padding:12px 2px;color:var(--muted);font-size:11px;line-height:1.45}
.side-panel{position:fixed;inset:0;z-index:120;pointer-events:none;visibility:hidden}
.side-panel.open{pointer-events:auto;visibility:visible}.panel-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);opacity:0;transition:.2s}.side-panel.open .panel-backdrop{opacity:1}
.panel-sheet{position:absolute;top:0;right:0;height:100%;width:min(520px,94vw);padding:32px;background:#111;border-left:1px solid var(--border);overflow:auto;transform:translateX(100%);transition:.25s}
.side-panel.open .panel-sheet{transform:none}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--border);margin-bottom:20px}
.panel-header h2{font:800 25px 'Unbounded';letter-spacing:-.03em}.panel-close{width:38px;height:38px;background:transparent;border:1px solid var(--border);color:#fff;font-size:24px}
.panel-search{width:100%;margin-bottom:14px;padding:11px 13px;background:var(--surface2);border:1px solid var(--border);color:#fff;outline:none}
.library-list{display:flex;flex-direction:column;gap:10px}.library-item{padding:16px;border:1px solid var(--border);background:var(--surface)}
.library-item h3{font-size:14px;margin-bottom:5px}.library-item p{color:var(--muted);font-size:11px;line-height:1.4}.library-item .item-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.item-meta span{padding:3px 7px;border:1px solid var(--border);color:#999;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.item-actions{display:flex;gap:7px;margin-top:12px}.item-actions button{padding:7px 10px;border:1px solid var(--border);background:transparent;color:#ddd;font-size:10px;text-transform:uppercase}.item-actions button:hover{border-color:var(--orange);color:var(--orange)}
.item-actions .danger:hover{border-color:var(--red);color:var(--red)}
.empty-state{text-align:center;padding:70px 20px;color:var(--muted)}.empty-state span{display:block;font-size:40px;color:#333}.empty-state h3{color:#ccc;font-size:15px;margin:14px 0 5px}
.profile-form{display:flex;flex-direction:column;gap:2px}.profile-actions{display:flex;gap:8px;margin-top:16px}.danger-zone{margin-top:36px;padding-top:24px;border-top:1px solid var(--border)}.danger-zone h3{font-size:12px;color:var(--red);margin-bottom:8px}.danger-zone p{font-size:11px;color:var(--muted);line-height:1.45;margin-bottom:12px}
.toast{position:fixed;left:50%;bottom:28px;z-index:200;transform:translate(-50%,20px);padding:12px 18px;background:#fff;color:#111;box-shadow:0 10px 30px rgba(0,0,0,.35);font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
footer{display:flex;justify-content:space-between;gap:20px;padding:22px 48px;border-top:1px solid var(--border);color:#444;font-size:10px}

@media(max-width:1050px){
  .workspace{grid-template-columns:1fr}.preview-column{position:static}.paper{min-height:600px}
  .tool-hero{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .topnav{height:58px;padding:0 18px}.nav-badge{display:none}.nav-back{font-size:0}.nav-back::before{font-size:18px;margin:0}
  .privacy-banner{justify-content:flex-start;padding:10px 18px}.privacy-banner div{display:block}.privacy-banner span:last-child{display:block;margin-top:2px}
  .tool-hero{padding:32px 18px}.tool-hero h1{font-size:34px}.hero-actions{width:100%;justify-content:stretch}.hero-actions .btn{flex:1;padding:9px 7px}
  .workspace{padding:20px 18px 60px}.form-card{padding:20px}.grid.two,.grid.three,.action-grid{grid-template-columns:1fr}
  .card-heading p{padding-right:4px}.card-heading .mini-btn{position:absolute;right:0;top:0}
  .type-switch span{padding:13px 5px;font-size:12px}.paper,.paper[data-document-type]{padding:38px 27px;min-height:560px;font-size:12px}
  .paper[data-document-type="cedula"] .doc-professionalHeader{margin-bottom:52px}
  footer{padding:20px 18px;flex-direction:column}.panel-sheet{padding:24px 20px}
}

@media print{
  .topnav,.privacy-banner,.tool-hero,.form-column,.preview-toolbar,.preview-note,.side-panel,footer,.toast{display:none!important}
  body,.workspace,.preview-column{display:block!important;background:#fff;padding:0;margin:0;max-width:none}
  .paper{box-shadow:none;min-height:0;padding:0;color:#000;font-size:11pt;line-height:1.5}
  .paper[data-document-type="oficio"]{padding:5mm}
  .paper[data-document-type="cedula"]{padding:0 5mm 0 40mm}
  .paper[data-document-type="exhorto"]{padding:0 0 0 20mm}
  body.print-two-copies .print-copy{display:block!important;break-before:page;page-break-before:always}
  @page{size:A4;margin:20mm}
}
