/* Herramientas gratuitas (1.10.20-diseno): verificador de citas y calculadora de plazos. */
.tool-panel [hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.tool-hero{padding:72px 0 40px}
.tool-hero .kicker{font:500 15px/1.4 var(--sans);color:var(--green);margin:0 0 14px}
.tool-hero .kicker a{color:inherit;text-decoration:none}
.tool-hero .kicker a:hover{text-decoration:underline}
.tool-hero h1{max-width:20ch}
.tool-hero .lead{margin-top:18px}

.tool-panel{background:var(--sheet);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:48px 0 56px}
.tool-form label,.tool-field>label{display:block;font:600 14px/1.3 var(--sans);color:var(--ink-soft);margin:0 0 8px}
.tool-row{display:flex;gap:12px;flex-wrap:wrap}
.tool-row input{flex:1 1 320px}
.tool-form input,.tool-form select{font:400 17px/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:10px;padding:14px 16px;min-height:52px;box-sizing:border-box;width:100%}
.tool-row input{width:auto}
.tool-form input:focus,.tool-form select:focus{outline:3px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.tool-examples{font-size:15px;color:var(--ink-soft);margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tool-examples button{font:500 14px/1 var(--sans);color:var(--blue);background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:8px 12px;cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1)}
.tool-examples button:hover{transform:translateY(-1px)}
.tool-out{margin-top:28px;display:grid;gap:16px}
.tool-msg{color:var(--ink-soft);margin:0}
.tool-card{border:1px solid var(--rule);border-radius:14px;padding:20px 22px;background:#fff}
.tool-card h3{font:500 21px/1.25 var(--serif);margin:8px 0 6px}
.tool-card p{margin:0 0 8px}
.tool-badge{display:inline-block;font:600 13px/1 var(--sans);border-radius:999px;padding:6px 10px;background:var(--paper);color:var(--ink-soft)}
.tool-card.is-vigente .tool-badge{background:var(--green-soft);color:var(--green)}
.tool-card.is-derogada .tool-badge,.tool-card.is-no-encontrada .tool-badge{background:#fdecec;color:#a4262c}
.tool-card.is-no-encontrada{border-color:#f1c4c6}
.tool-quote{margin:12px 0;padding:12px 16px;border-left:3px solid var(--green);background:var(--paper);border-radius:0 10px 10px 0;font-size:16px}
.tool-quote p{margin:0 0 8px}
.tool-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px!important;font-weight:500}
.tool-note{font-size:14px;color:var(--ink-soft);margin:24px 0 0;max-width:80ch}

/* Calculadora de plazos */
.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.tool-field{display:flex;flex-direction:column}
.tool-check{display:flex;gap:10px;align-items:flex-start;font-size:16px;margin-top:14px}
.tool-check input{width:20px;height:20px;min-height:0;margin-top:3px;accent-color:var(--blue)}
.calc-actions{margin-top:22px}
.calc-result{margin-top:28px;border:1px solid var(--rule);border-radius:14px;background:#fff;padding:22px 24px}
.calc-result .big{font:500 clamp(34px,5vw,52px)/1.05 var(--serif);font-variant-numeric:tabular-nums;margin:6px 0 4px}
.calc-result .sub{color:var(--ink-soft);margin:0}
.calc-result ul{margin:14px 0 0;padding-left:18px;font-size:15px;color:var(--ink-soft)}
.calc-days{margin-top:16px;font-size:14px;color:var(--ink-soft)}
.calc-days summary{cursor:pointer;font-weight:500;color:var(--ink)}
.calc-days ol{columns:2;column-gap:28px;margin:10px 0 0;padding-left:20px}
@media (max-width:640px){.calc-days ol{columns:1}.tool-hero{padding:48px 0 28px}}

.calc-table{overflow-x:auto;margin-top:16px}
.calc-table table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.calc-table th{font:600 13px/1.3 var(--sans);color:var(--ink-soft);text-align:left;border-bottom:1px solid var(--rule);padding:8px 10px}
.calc-table td{border-bottom:1px solid var(--rule);padding:8px 10px;white-space:nowrap}

/* Anonimizador y comparador */
.anon-area{font:400 15px/1.55 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:10px;padding:14px 16px;width:100%;min-height:220px;resize:vertical;box-sizing:border-box}
.anon-area:focus{outline:3px solid var(--blue);outline-offset:1px}
.anon-opts{border:0;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:4px 22px}
.anon-opts legend{font:600 14px/1.3 var(--sans);color:var(--ink-soft);margin-bottom:4px;padding:0}
.anon-opts .tool-check{margin-top:8px}
.cmp-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.cmp-view{margin-top:14px;white-space:pre-wrap;font-size:16px;line-height:1.7;background:var(--paper);border-radius:10px;padding:16px 18px;max-height:70vh;overflow:auto}
.calc-result ins,.cmp-view ins{background:#d9f2e6;color:#0b5d3f;text-decoration:none;border-radius:3px}
.calc-result del,.cmp-view del{background:#fde3e3;color:#a4262c;border-radius:3px}

.prompt-group{font:500 clamp(24px,2.6vw,32px)/1.2 var(--serif);margin:36px 0 14px}
.tool-panel .prompt-group:first-child{margin-top:0}

/* Prompts */
.prompt-list{display:grid;gap:14px;margin-top:8px}
.prompt-card{border:1px solid var(--rule);border-radius:14px;background:#fff;padding:18px 20px}
.prompt-card h3{font:500 20px/1.25 var(--serif);margin:0 0 8px}
.prompt-card pre{white-space:pre-wrap;font:400 15px/1.6 var(--sans);background:var(--paper);border-radius:10px;padding:14px 16px;margin:10px 0}
.prompt-card button{font:500 14px/1 var(--sans);color:var(--blue);background:#fff;border:1px solid var(--rule);border-radius:999px;padding:8px 14px;cursor:pointer}

/* Índice de herramientas */
.tool-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:0;padding:0;list-style:none}
.tool-list a{display:block;height:100%;box-sizing:border-box;border:1px solid var(--rule);border-radius:14px;background:#fff;padding:22px 24px;text-decoration:none;color:var(--ink);transition:transform .2s cubic-bezier(.23,1,.32,1)}
.tool-list a:hover{transform:translateY(-2px)}
.tool-list h2{font:500 24px/1.2 var(--serif);margin:0 0 8px;color:var(--ink)}
.tool-list p{margin:0;color:var(--ink-soft)}
.tool-list .go{display:inline-block;margin-top:14px;color:var(--blue);font-weight:500}
@media (prefers-reduced-motion:reduce){.tool-list a,.tool-examples button{transition:none}}
