@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=DM+Sans:wght@400;500;600&family=Great+Vibes&family=Montserrat:wght@400;500;600&display=swap');
:root { --sage: #9cb095; --sage-dark: #65765f; --sage-deep: #465340; --cream: #f6f7f2; --paper: #fbfaf6; --ink: #273029; --muted: #768076; --line: #e6e9e1; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--paper); color: var(--ink); font-family: 'DM Sans', 'Montserrat', sans-serif; }
button, input, select { font: inherit; } button { cursor: pointer; }

.public-shell { min-height: 100vh; position: relative; overflow: hidden; display: grid; place-items: center; padding: 32px 20px; background: var(--sage); color: white; }
.public-shell::before { content: ''; position: absolute; inset: 0; opacity: .12; background-image: radial-gradient(rgba(255,255,255,.7) .6px, transparent .6px); background-size: 18px 18px; }
.public-orb { position: absolute; width: 460px; height: 460px; border-radius: 50%; border: 1px solid rgba(255,255,255,.15); }
.public-orb::after { content: ''; position: absolute; inset: 46px; border: 1px solid rgba(255,255,255,.08); border-radius: inherit; }
.public-orb-one { top: -250px; left: -240px; } .public-orb-two { bottom: -260px; right: -220px; }
.linktree-card { width: min(100%, 450px); position: relative; z-index: 1; text-align: center; animation: enter .65s ease both; }
@keyframes enter { from { opacity: 0; transform: translateY(12px); } }
.public-logo { width: 128px; height: 128px; object-fit: contain; margin: 0 auto 2px; }
.signature { margin: -5px 0 -3px; font-family: 'Great Vibes', cursive; font-size: clamp(3.2rem, 12vw, 4rem); line-height: 1; font-weight: 400; }
.public-title { margin: 8px 0 14px; font-family: 'Cinzel', serif; font-size: 1.42rem; letter-spacing: .27em; }
.location { margin: 0 0 28px; font-family: 'Montserrat', sans-serif; font-size: .86rem; opacity: .9; }.location span { font-size: .5rem; vertical-align: 2px; margin-right: 6px; }
.public-links { display: grid; gap: 14px; }
.public-link { min-height: 57px; padding: 14px 52px; border-radius: 9px; position: relative; display: flex; align-items: center; justify-content: center; background: var(--cream); color: #72866c; text-decoration: none; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 1.03rem; box-shadow: 0 5px 12px rgba(55,67,52,.12); transition: transform .2s, box-shadow .2s, background .2s; }
.public-link:hover { transform: translateY(-2px); background: white; box-shadow: 0 9px 22px rgba(55,67,52,.17); }.public-link-icon { position: absolute; left: 23px; width: 28px; font-weight: 600; font-size: 1.08rem; }.public-link-arrow { position: absolute; right: 22px; font-size: .82rem; opacity: 0; transform: translateX(-5px); transition: .2s; }.public-link:hover .public-link-arrow { opacity: .5; transform: none; }
.quiet-actions { margin-top: 19px; display: flex; align-items: center; justify-content: center; gap: 12px; }.quiet-actions button { border: 0; background: transparent; color: rgba(255,255,255,.9); padding: 4px 2px; font-size: .78rem; letter-spacing: .02em; border-bottom: 1px solid rgba(255,255,255,.35); }.quiet-actions a { color: rgba(255,255,255,.9); font-size: .78rem; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); padding: 4px 2px; display: inline-flex; align-items: center; gap: 6px; }.quiet-actions span { width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,.5); }.public-footer { margin: 34px 0 0; font-size: .68rem; letter-spacing: .2em; opacity: .72; }
.local-presence { padding: 76px 22px; background: #f6f7f2; }.local-presence-inner { width: min(100%,980px); margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 70px; align-items: center; }.local-eyebrow { margin: 0 0 13px; color: #82907e; font-size: .68rem; font-weight: 600; letter-spacing: .17em; }.local-presence h2 { max-width: 650px; margin: 0; color: #43513f; font-family: 'Cinzel',serif; font-size: clamp(1.55rem,4vw,2.25rem); font-weight: 500; line-height: 1.25; }.local-presence-copy>p:last-child { max-width: 680px; margin: 21px 0 0; color: #687466; font-size: .96rem; line-height: 1.75; }.local-contact-card { min-height: 150px; padding: 25px; border: 1px solid #e0e5dc; border-radius: 18px; background: rgba(255,255,255,.78); box-shadow: 0 15px 35px rgba(64,78,60,.08); display: flex; align-items: flex-start; gap: 15px; }.local-contact-card>span { width: 42px; height: 42px; flex: none; border-radius: 50%; background: #82977b; color: white; display: grid; place-items: center; font-size: 1.15rem; }.local-contact-card div { display: grid; gap: 7px; }.local-contact-card small { color: #929c8f; font-size: .59rem; letter-spacing: .12em; }.local-contact-card strong { color: #4e5c4a; font-family: 'Cinzel',serif; font-size: .83rem; line-height: 1.5; }.local-contact-card a { color: #657a60; font-size: .75rem; text-decoration: none; }

.auth-shell { min-height: 100vh; background: linear-gradient(135deg, #83977d 0%, var(--sage) 48%, #acbca7 100%); display: grid; place-items: center; padding: 64px 20px 30px; position: relative; }.auth-shell::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to bottom, black, transparent 75%); }
.back-public { position: absolute; z-index: 2; top: 24px; left: 28px; border: 0; background: transparent; color: white; opacity: .86; }.auth-card { width: min(100%, 460px); padding: 38px 42px 32px; border-radius: 24px; background: rgba(251,250,246,.98); box-shadow: 0 30px 75px rgba(49,62,47,.25); position: relative; z-index: 1; }.auth-brand { display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--sage-dark); }.auth-brand img { width: 46px; height: 46px; padding: 3px; border-radius: 50%; background: var(--sage); object-fit: contain; }.auth-brand div { display: flex; flex-direction: column; text-align: left; line-height: 1; }.auth-brand span { font-family: 'Great Vibes'; font-size: 1.23rem; }.auth-brand strong { font-family: 'Cinzel'; font-size: .95rem; letter-spacing: .08em; }
.eyebrow { margin: 28px 0 8px; text-align: center; color: #8b9787; font-size: .66rem; letter-spacing: .2em; font-weight: 600; }.auth-card h1 { margin: 0; text-align: center; font-family: 'Cinzel'; font-size: 1.78rem; color: var(--sage-deep); }.auth-intro { margin: 10px auto 26px; max-width: 340px; text-align: center; font-size: .88rem; line-height: 1.55; color: var(--muted); }.auth-card form { display: grid; gap: 16px; }.auth-card label { display: grid; gap: 7px; font-size: .78rem; font-weight: 600; color: #566255; }
.auth-card input, .profile-card input, .data-toolbar input, .data-toolbar select { width: 100%; border: 1px solid #dfe4dc; border-radius: 9px; padding: 12px 13px; background: white; color: var(--ink); outline: none; }.auth-card input:focus, .profile-card input:focus { border-color: var(--sage); box-shadow: 0 0 0 3px rgba(156,176,149,.15); }
.auth-options { display: flex; justify-content: space-between; align-items: center; margin-top: -4px; }.auth-options .check { display: flex; grid-template-columns: auto 1fr; align-items: center; font-weight: 400; }.auth-options input { width: auto; }.auth-options button, .register-copy button { border: 0; background: none; color: var(--sage-dark); font-size: .75rem; font-weight: 600; }.primary-action { border: 0; border-radius: 9px; padding: 13px 16px; background: var(--sage-dark); color: white; display: flex; justify-content: center; gap: 10px; font-weight: 600; }
.auth-divider { display: grid; grid-template-columns: 1fr auto 1fr; gap: 11px; align-items: center; margin: 21px 0 15px; color: #9ca39a; font-size: .68rem; }.auth-divider span { height: 1px; background: #e1e4de; }.google-action { width: 100%; border: 1px solid #dde1da; background: white; border-radius: 9px; padding: 12px; color: #4c554b; font-weight: 500; }.google-action b { color: #4285f4; margin-right: 8px; }.register-copy { text-align: center; color: var(--muted); font-size: .76rem; margin: 20px 0 0; }.demo-note { text-align: center; margin: 20px -10px -17px; padding-top: 14px; border-top: 1px solid var(--line); font-size: .65rem; color: #9aa198; }

.app-shell { min-height: 100vh; background: var(--paper); display: grid; grid-template-columns: 244px minmax(0, 1fr); }.sidebar { position: sticky; top: 0; height: 100vh; min-height: 0; padding: 26px 18px 20px; overflow: hidden; background: #687b62; color: white; display: flex; flex-direction: column; z-index: 20; }.sidebar-brand { flex: 0 0 auto; display: flex; align-items: center; gap: 11px; padding: 0 8px 24px; border-bottom: 1px solid rgba(255,255,255,.15); }.sidebar-brand img { width: 42px; height: 42px; object-fit: contain; }.sidebar-brand div { display: flex; flex-direction: column; }.sidebar-brand strong { font-family: 'Cinzel'; font-size: .91rem; letter-spacing: .04em; }.sidebar-brand span { margin-top: 4px; opacity: .65; font-size: .66rem; }
.sidebar nav { flex: 1 1 auto; min-height: 0; padding: 17px 4px 14px 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; display: grid; align-content: start; gap: 4px; }.sidebar nav::-webkit-scrollbar { width: 5px; }.sidebar nav::-webkit-scrollbar-track { background: transparent; }.sidebar nav::-webkit-scrollbar-thumb { border-radius: 8px; background: rgba(255,255,255,.22); }.sidebar nav p { margin: 14px 11px 5px; font-size: .59rem; letter-spacing: .17em; opacity: .52; font-weight: 600; }.sidebar nav button { width: 100%; padding: 10px 12px; border: 0; border-radius: 8px; background: transparent; color: rgba(255,255,255,.74); text-align: left; font-size: .78rem; display: flex; gap: 11px; align-items: center; }.sidebar nav button span { display: grid; place-items: center; width: 18px; height: 18px; font-size: .82rem; }.sidebar nav button:hover, .sidebar nav button.active { background: rgba(255,255,255,.13); color: white; }
.sidebar-profile { flex: 0 0 auto; margin-top: 0; border-top: 1px solid rgba(255,255,255,.15); padding: 17px 3px 0; display: grid; grid-template-columns: 38px 1fr auto; gap: 9px; align-items: center; }.sidebar-profile img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }.sidebar-profile div { display: flex; flex-direction: column; min-width: 0; }.sidebar-profile strong { font-size: .73rem; }.sidebar-profile span { font-size: .63rem; opacity: .62; }.sidebar-profile button { border: 0; background: none; color: white; opacity: .6; }
.app-content { min-width: 0; }.topbar { min-height: 87px; border-bottom: 1px solid var(--line); display: flex; align-items: center; padding: 17px 36px; background: rgba(251,250,246,.94); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(14px); }.topbar p { margin: 0 0 4px; color: #929a90; font-size: .58rem; letter-spacing: .16em; }.topbar h1 { margin: 0; font-family: 'Cinzel'; font-size: 1.17rem; color: var(--sage-deep); }.topbar-actions { margin-left: auto; display: flex; gap: 10px; align-items: center; }.topbar-actions button { border: 1px solid var(--line); background: white; border-radius: 9px; padding: 8px 11px; color: var(--sage-deep); position: relative; }.topbar-actions button span { position: absolute; right: 7px; top: 6px; width: 5px; height: 5px; background: #b2766d; border-radius: 50%; }.topbar-actions .exit-action { font-size: .7rem; }.menu-trigger { display: none; }
.dashboard-body { padding: 31px 36px 48px; max-width: 1380px; margin: 0 auto; }.welcome-row, .section-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 27px; }.welcome-row h2, .section-intro h2 { margin: 0; font-family: 'Cinzel'; font-size: 1.5rem; color: #42503e; }.welcome-row h2 span { color: #9caf96; font-size: 1rem; }.welcome-row p, .section-intro span { margin: 7px 0 0; color: var(--muted); font-size: .83rem; }.section-intro p { margin: 0 0 7px; font-size: .61rem; color: #93a18f; letter-spacing: .17em; font-weight: 600; }.outline-action { padding: 10px 15px; border: 1px solid #cdd5c9; border-radius: 9px; background: white; color: #66775f; font-size: .76rem; font-weight: 600; }.outline-action:hover { background: #f3f5f0; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.metric-grid article { min-height: 113px; background: white; border: 1px solid var(--line); border-radius: 12px; padding: 19px; display: flex; gap: 14px; align-items: flex-start; box-shadow: 0 6px 18px rgba(64,78,60,.035); }.metric-icon { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 9px; display: grid; place-items: center; background: #eef2eb; color: var(--sage-dark); font-family: 'Cinzel'; font-weight: 600; }.metric-grid p { margin: 1px 0 7px; color: #8b9589; font-size: .58rem; letter-spacing: .12em; }.metric-grid strong { display: block; font-family: 'Cinzel'; font-size: 1.2rem; color: #43503f; }.metric-grid small { display: block; margin-top: 5px; color: #929b90; font-size: .67rem; }
.dashboard-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; margin-top: 14px; }.panel-card { background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 7px 20px rgba(64,78,60,.035); }.panel-heading { min-height: 74px; padding: 17px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }.panel-heading p, .quick-tools > div > p { margin: 0 0 5px; color: #9aa497; font-size: .56rem; letter-spacing: .16em; }.panel-heading h3, .quick-tools h3 { margin: 0; font-family: 'Cinzel'; color: #465340; font-size: .96rem; }.panel-heading button { border: 0; background: none; color: #778b70; font-size: .68rem; }
.fee-list { padding: 4px 20px 9px; }.fee-row { min-height: 61px; display: grid; grid-template-columns: minmax(140px, 1fr) 100px 112px; gap: 12px; align-items: center; border-bottom: 1px solid #eef0eb; }.fee-row:last-child { border: 0; }.fee-row div { display: flex; flex-direction: column; }.fee-row strong { font-size: .76rem; color: #4f5d4b; }.fee-row span { margin-top: 4px; color: #949c92; font-size: .65rem; }.fee-row b { color: #53614f; font-size: .75rem; }.fee-row em { width: fit-content; padding: 5px 8px; border-radius: 20px; font-style: normal; font-size: .59rem; }.fee-row em.amber { background: #f7f0df; color: #977642; }.fee-row em.sage { background: #eaf0e7; color: #61765a; }.fee-row em.green { background: #e5f2e9; color: #447052; }
.agenda-list { padding: 8px 20px 14px; }.agenda-list > div { min-height: 64px; display: grid; grid-template-columns: 36px 2px 1fr; gap: 12px; align-items: center; }.agenda-list time { color: #65765f; text-align: center; line-height: 1; font-size: .54rem; }.agenda-list time b { display: block; font-family: 'Cinzel'; font-size: 1rem; margin-bottom: 3px; }.agenda-list > div > span { width: 2px; height: 35px; background: #dce4d8; border-radius: 2px; }.agenda-list p { display: flex; flex-direction: column; margin: 0; }.agenda-list strong { color: #53604f; font-size: .72rem; }.agenda-list small { margin-top: 5px; color: #949c92; font-size: .63rem; }
.quick-tools { margin-top: 14px; border: 1px solid var(--line); border-radius: 12px; padding: 17px 20px; background: #f1f4ed; display: flex; justify-content: space-between; align-items: center; gap: 20px; }.quick-tools > div:last-child { display: flex; gap: 9px; }.quick-tools button { border: 1px solid #d9dfd5; background: white; color: #5e6c59; border-radius: 9px; padding: 10px 12px; font-size: .68rem; }.quick-tools button span { margin-right: 7px; color: #7d9276; font-weight: 600; }
.data-card { overflow: hidden; }.data-toolbar { display: grid; grid-template-columns: 1fr 190px; gap: 12px; padding: 18px; border-bottom: 1px solid var(--line); }.data-toolbar input, .data-toolbar select { font-size: .76rem; }.fee-list.expanded .fee-row { grid-template-columns: minmax(170px, 1fr) 130px 130px 90px; }.fee-row > button { border: 0; background: none; color: #74896e; font-size: .65rem; }
.calendar-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; }.mini-calendar { padding: 20px; }.calendar-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }.calendar-title strong { font-family: 'Cinzel'; color: #52604e; }.calendar-title button { border: 0; background: #f2f4ef; border-radius: 7px; padding: 6px 10px; color: #63715f; }.week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 7px; }.week > span { padding: 6px; color: #99a096; font-size: .6rem; text-align: center; }.week button { aspect-ratio: 1; border: 0; border-radius: 9px; background: transparent; color: #647061; font-size: .72rem; }.week button:hover { background: #f1f4ee; }.week button.today { background: #6e8168; color: white; }.week button.marked { position: relative; background: #edf2ea; }.week button.marked::after { content: ''; position: absolute; bottom: 5px; left: 50%; width: 3px; height: 3px; border-radius: 50%; background: #879d80; }
.tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }.tool-card { padding: 24px; }.tool-card > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 11px; background: #edf2e9; color: #667961; font-family: 'Cinzel'; font-size: .75rem; }.tool-card h3 { margin: 20px 0 9px; font-family: 'Cinzel'; color: #4c5948; font-size: 1rem; }.tool-card p { min-height: 57px; color: #879084; font-size: .75rem; line-height: 1.6; }.tool-card button { border: 0; background: none; padding: 8px 0 0; color: #6c8165; font-size: .7rem; font-weight: 600; }
.profile-card { padding: 26px; display: grid; grid-template-columns: 180px 1fr; gap: 34px; }.profile-photo { text-align: center; }.profile-photo img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 4px solid #edf1e9; }.profile-photo button { margin-top: 12px; border: 0; background: none; color: #73866e; font-size: .67rem; }.profile-card form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.profile-card label { display: grid; gap: 7px; color: #6a7567; font-size: .7rem; font-weight: 600; }.profile-card .primary-action { grid-column: 1 / -1; width: fit-content; padding-inline: 24px; }

@media (max-width: 980px) { .metric-grid { grid-template-columns: 1fr; }.dashboard-grid, .calendar-layout { grid-template-columns: 1fr; }.tool-grid { grid-template-columns: 1fr 1fr; }.quick-tools { align-items: flex-start; flex-direction: column; }.app-shell { grid-template-columns: 210px minmax(0,1fr); }.sidebar { padding-inline: 12px; } }
@media (max-width: 720px) { .app-shell { display: block; }.sidebar { position: fixed; left: -260px; width: 244px; transition: left .25s; box-shadow: 15px 0 40px rgba(36,45,34,.2); }.sidebar.is-open { left: 0; }.menu-trigger { display: block; margin-right: 14px; border: 0; background: none; color: #61705d; font-size: 1.1rem; }.topbar { padding: 15px 18px; }.dashboard-body { padding: 24px 17px 40px; }.welcome-row, .section-intro { align-items: flex-start; flex-direction: column; }.tool-grid { grid-template-columns: 1fr; }.profile-card { grid-template-columns: 1fr; }.profile-card form { grid-template-columns: 1fr; }.metric-grid article { min-height: 100px; }.fee-row { grid-template-columns: 1fr auto; padding: 12px 0; }.fee-row em { grid-column: 1; }.fee-list.expanded .fee-row { grid-template-columns: 1fr auto; }.fee-row > button { text-align: right; }.data-toolbar { grid-template-columns: 1fr; }.quick-tools > div:last-child { width: 100%; display: grid; }.auth-card { padding: 34px 24px 28px; }.back-public { left: 18px; }.quiet-actions { flex-wrap: wrap; }.public-footer { margin-top: 28px; }.local-presence { padding: 54px 20px; }.local-presence-inner { grid-template-columns: 1fr; gap: 30px; }.local-presence-copy>p:last-child { font-size: .9rem; }.local-contact-card { min-height: 0; } }
@media (max-width: 390px) { .public-shell { padding-inline: 16px; }.public-link { font-size: .95rem; }.signature { font-size: 3.35rem; }.public-title { font-size: 1.24rem; }.topbar-actions .exit-action { display: none; } }

/* Componentes de la aplicación PHP */
.flash-stack { max-width: 1380px; margin: 18px auto -8px; padding: 0 36px; }.flash { padding: 11px 14px; border-radius: 9px; font-size: .76rem; margin-bottom: 8px; }.flash.success { background: #e5f2e9; color: #447052; }.flash.error { background: #f8e8e5; color: #9a5149; }
.auth-errors { margin: 0 0 14px; padding: 11px 13px; background: #f8e8e5; color: #8e4a44; border-radius: 8px; font-size: .74rem; }.auth-errors ul { margin: 0; padding-left: 18px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.form-grid label { display: grid; gap: 7px; color: #6a7567; font-size: .7rem; font-weight: 600; }.form-grid input, .form-grid select, .form-grid textarea { width: 100%; border: 1px solid #dfe4dc; border-radius: 9px; padding: 11px 12px; background: white; color: var(--ink); outline: none; }.form-grid textarea { min-height: 95px; resize: vertical; }.form-grid .full { grid-column: 1 / -1; }.form-actions { grid-column: 1 / -1; display: flex; gap: 10px; }.form-actions .primary-action { width: auto; }.secondary-action { border: 1px solid #d9dfd5; border-radius: 9px; background: white; color: #65765f; padding: 11px 15px; text-decoration: none; font-size: .75rem; }
.table-wrap { overflow-x: auto; }.data-table { width: 100%; border-collapse: collapse; font-size: .74rem; }.data-table th { padding: 12px 15px; text-align: left; color: #8c9789; font-size: .58rem; letter-spacing: .12em; border-bottom: 1px solid var(--line); }.data-table td { padding: 14px 15px; border-bottom: 1px solid #eef0eb; color: #596656; }.data-table td strong { color: #485544; }.data-table .actions { white-space: nowrap; }.link-action { border: 0; background: none; color: #6c8165; text-decoration: none; font-size: .68rem; padding: 4px 6px; }.danger { color: #a65e56 !important; }
.badge { display: inline-block; padding: 5px 8px; border-radius: 20px; background: #eaf0e7; color: #61765a; font-size: .59rem; }.badge.pending { background: #f7f0df; color: #977642; }.badge.collected, .badge.done { background: #e5f2e9; color: #447052; }
.empty-state { padding: 48px 20px; text-align: center; color: #899286; }.empty-state strong { display: block; font-family: 'Cinzel'; color: #566452; margin-bottom: 8px; }.empty-state p { margin: 0; font-size: .75rem; }
.split-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 16px; }.editor-card { padding: 22px; }.editor-card h3 { margin: 0 0 18px; font-family: 'Cinzel'; color: #4c5948; font-size: 1rem; }.help-text { color: #8d968b; font-size: .68rem; line-height: 1.55; }
.public-tools-shell { min-height: 100vh; padding: 38px 20px; background: #f3f5ef; }.public-tools { max-width: 980px; margin: 0 auto; }.public-tools-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }.public-tools-header a { color: #667961; text-decoration: none; font-size: .75rem; }.public-tools-header img { width: 54px; height: 54px; padding: 4px; border-radius: 50%; background: var(--sage); }.calculator { padding: 25px; }.calculator-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.calculator label { display: grid; gap: 7px; font-size: .72rem; color: #61705d; }.calculator input { border: 1px solid #dce2d8; border-radius: 9px; padding: 12px; }.calculator-result { margin-top: 18px; padding: 18px; border-radius: 10px; background: #edf2e9; color: #52604e; }.calculator-result span { display: block; font-size: .62rem; letter-spacing: .12em; }.calculator-result strong { display: block; margin-top: 6px; font-family: 'Cinzel'; font-size: 1.5rem; }
.update-drop { border: 1px dashed #bdc9b8; border-radius: 12px; padding: 26px; text-align: center; background: #f7f9f5; }.update-drop input { display: block; margin: 14px auto; }.version-chip { display: inline-block; padding: 6px 9px; border-radius: 20px; background: #edf2e9; color: #607259; font-size: .65rem; }
@media (max-width: 850px) { .split-layout { grid-template-columns: 1fr; } }.mobile-only { display: none; }
@media (max-width: 720px) { .form-grid, .calculator-grid { grid-template-columns: 1fr; }.form-grid .full { grid-column: auto; }.form-actions { grid-column: auto; }.flash-stack { padding: 0 17px; }.mobile-only { display: block; } }
.about-shell { min-height: 100vh; padding: 42px 20px; background: var(--sage); color: white; display: grid; place-items: center; }.about-card { width: min(100%,570px); padding: 38px; border-radius: 20px; background: rgba(255,255,255,.07); box-shadow: 0 18px 45px rgba(51,64,48,.12); text-align: center; }.about-photo { width: 178px; height: 178px; object-fit: cover; object-position: top; border: 4px solid var(--cream); border-radius: 50%; box-shadow: 0 8px 18px rgba(0,0,0,.12); }.about-copy { margin: 25px 0 30px; text-align: left; font-family: 'Montserrat',sans-serif; font-size: .95rem; line-height: 1.7; }.about-copy p { margin: 0 0 14px; }.about-back { display: block; margin-top: 15px; color: white; text-decoration: none; font-size: .76rem; }
@media (max-width: 560px) { .about-card { padding: 25px 20px; }.about-copy { text-align: center; font-size: .87rem; } }

/* Sistema de iconos Phosphor */
.public-link-icon { left: 13px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(156,176,149,.13); color: #6f8469; font-size: 1.3rem; }
.public-link-arrow { right: 20px; display: grid; place-items: center; font-size: .95rem; }
.back-public, .google-action, .outline-action, .primary-action, .panel-heading a, .quick-tools a, .link-action, .public-tools-header a, .about-back { display: inline-flex; align-items: center; gap: 6px; }
.back-public { text-decoration: none; }.google-action { justify-content: center; text-decoration: none; }.primary-action { align-items: center; }.outline-action { gap: 7px; }.welcome-row h2 span { display: inline-flex; vertical-align: -2px; }.welcome-row h2 span .ph { font-size: 1rem; }
.sidebar nav a .ph { font-size: 1.12rem; }.sidebar-profile .ph, .topbar .ph { font-size: 1.08rem; }.topbar .exit-action { display: inline-flex; align-items: center; gap: 6px; }.menu-trigger .ph { font-size: 1.35rem; }
.metric-icon .ph { font-size: 1.28rem; }.quick-tools .ph { font-size: 1.08rem; color: #7d9276; }.tool-card > span .ph { font-size: 1.35rem; }
.table-icon { width: 29px; height: 29px; margin-right: 8px; display: inline-grid; place-items: center; border-radius: 8px; background: #edf2e9; color: #667961; vertical-align: middle; }.table-icon .ph { font-size: 1rem; }
.link-action .ph { font-size: .9rem; }.profile-photo .help-text .ph { font-size: 1rem; vertical-align: -2px; }.public-tools-header a .ph, .about-back .ph { font-size: .9rem; }

/* Módulo UMA */
.metric-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.uma-review-alert { margin: -10px 0 20px; padding: 14px 16px; border: 1px solid #e8d9b7; border-radius: 11px; background: #fbf6e9; color: #765f37; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; }.uma-review-alert > .ph { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 9px; background: #f2e5c8; font-size: 1.15rem; }.uma-review-alert div { display: flex; flex-direction: column; }.uma-review-alert strong { font-size: .76rem; }.uma-review-alert span { margin-top: 4px; font-size: .67rem; opacity: .78; }.uma-review-alert a { color: #7d6335; text-decoration: none; font-size: .68rem; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }
.uma-hero { min-height: 176px; padding: 25px 28px; display: grid; grid-template-columns: 58px minmax(220px,1fr) minmax(220px,.7fr); gap: 20px; align-items: center; overflow: hidden; position: relative; background: linear-gradient(125deg,#fff 0%,#f8faf6 68%,#edf3e9 100%); }.uma-hero::after { content:''; position:absolute; width:220px; height:220px; right:-95px; top:-115px; border:1px solid rgba(111,131,103,.13); border-radius:50%; }.uma-hero-icon { width: 54px; height: 54px; border-radius: 15px; background: #e8efe4; color: #60745a; display: grid; place-items: center; font-size: 1.7rem; }.uma-hero-value p { margin: 0 0 6px; color: #8c9988; font-size: .6rem; letter-spacing: .15em; }.uma-hero-value strong { display: block; color: #43503f; font-family: 'Cinzel'; font-size: clamp(1.8rem,4vw,2.65rem); line-height: 1.05; }.uma-hero-value span { display: block; margin-top: 8px; color: #778474; font-size: .72rem; }.uma-hero-source { padding-left: 24px; border-left: 1px solid #dfe6dc; display: flex; flex-direction: column; align-items: flex-start; position: relative; z-index: 1; }.verified-chip { padding: 5px 9px; border-radius: 20px; background: #e4f0e5; color: #4d7457; font-size: .6rem; display: inline-flex; align-items: center; gap: 5px; }.uma-hero-source strong { margin-top: 11px; color: #52604e; font-family: 'Cinzel'; font-size: .85rem; }.uma-hero-source small { margin-top: 5px; color: #8d978a; font-size: .65rem; }.uma-hero-source a,.uma-info-card a { margin-top: 12px; color: #657b5f; text-decoration: none; font-size: .68rem; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }
.uma-tools-layout { margin-top: 16px; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 16px; }.uma-calculator h3,.uma-info-card h3 { margin: 17px 0 8px; font-family: 'Cinzel'; color: #4c5948; font-size: 1rem; }.uma-info-card { padding: 25px; }.uma-info-card > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: #edf2e9; color: #667961; font-size: 1.3rem; }.uma-info-card p { color: #7f8b7b; font-size: .73rem; line-height: 1.65; }.calculator input[readonly] { background: #f4f6f2; color: #64715f; cursor: default; }.uma-history-card { margin-top: 16px; overflow: hidden; }.uma-history-card .panel-heading > span { color: #8d988a; font-size: .66rem; }.uma-disclaimer { margin: 13px 3px 0; color: #929b90; font-size: .63rem; text-align: center; }
.uma-admin-summary { display: grid; grid-template-columns: 1fr 1fr 1.1fr; gap: 14px; margin-bottom: 16px; }.uma-admin-summary > article { min-height: 106px; padding: 18px; display: flex; align-items: flex-start; gap: 13px; }.uma-admin-summary p { margin: 2px 0 7px; color: #8b9589; font-size: .58rem; letter-spacing: .12em; }.uma-admin-summary strong { display: block; color: #465340; font-family: 'Cinzel'; font-size: 1.15rem; }.uma-admin-summary small { display: block; margin-top: 6px; color: #8c9689; font-size: .65rem; }.uma-admin-summary .sync-card { align-items: center; justify-content: center; flex-direction: column; text-align: center; }.sync-card form { width: 100%; }.sync-card .primary-action { width: 100%; }
.uma-pending-card { margin-bottom: 16px; overflow: hidden; border-color: #e6d7b7; }.uma-pending-row { padding: 19px 21px; display: grid; grid-template-columns: 150px 1fr auto; gap: 20px; align-items: center; background: #fffdf8; border-top: 1px solid #eee4cd; }.uma-pending-value span { display: block; color: #a18b60; font-size: .56rem; letter-spacing: .14em; }.uma-pending-value strong { display: block; margin-top: 5px; color: #665536; font-family: 'Cinzel'; font-size: 1.25rem; }.uma-pending-row > div:nth-child(2) > strong { color: #4f5c4b; font-size: .76rem; }.uma-pending-row p { margin: 6px 0; color: #879083; font-size: .67rem; }.uma-pending-row a:not(.secondary-action) { color: #6c8165; text-decoration: none; font-size: .66rem; }.uma-review-actions { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }.uma-review-actions form { margin: 0; }.uma-review-actions .primary-action,.uma-review-actions .secondary-action { padding: 9px 11px; font-size: .67rem; }.uma-admin-layout { grid-template-columns: 1.1fr .9fr; }.check-row { display: flex !important; grid-template-columns: auto 1fr; align-items: center; justify-content: flex-start; }.check-row input { width: auto; }.cron-field { display: grid; gap: 7px; color: #6a7567; font-size: .7rem; font-weight: 600; }.cron-field input { width: 100%; border: 1px solid #dfe4dc; border-radius: 9px; padding: 11px 12px; background: #f5f7f3; color: #667163; font-size: .68rem; }.cron-note { margin: 16px 0; padding: 13px; border-radius: 10px; background: #edf3ea; color: #5d7157; display: flex; gap: 10px; }.cron-note > .ph { margin-top: 2px; font-size: 1.15rem; }.cron-note p { margin: 0; display: flex; flex-direction: column; }.cron-note strong { font-size: .72rem; }.cron-note span { margin-top: 4px; color: #7e8c79; font-size: .66rem; line-height: 1.5; }.badge.published { background: #e5f2e9; color: #447052; }.badge.rejected { background: #f5e7e5; color: #955a52; }
@media (max-width:1100px) { .metric-grid { grid-template-columns: repeat(2,1fr); }.uma-admin-summary { grid-template-columns: 1fr 1fr; }.uma-admin-summary .sync-card { grid-column: 1 / -1; } }
@media (max-width:850px) { .uma-hero { grid-template-columns: 54px 1fr; }.uma-hero-source { grid-column: 1 / -1; padding: 18px 0 0; border-left: 0; border-top: 1px solid #dfe6dc; }.uma-tools-layout,.uma-admin-layout { grid-template-columns: 1fr; }.uma-pending-row { grid-template-columns: 1fr; }.uma-review-actions { justify-content: flex-start; } }
@media (max-width:720px) { .metric-grid,.uma-admin-summary { grid-template-columns: 1fr; }.uma-admin-summary .sync-card { grid-column: auto; }.uma-review-alert { grid-template-columns: auto 1fr; }.uma-review-alert a { grid-column: 2; }.uma-hero { padding: 21px; grid-template-columns: 44px 1fr; }.uma-hero-icon { width: 44px; height: 44px; font-size: 1.35rem; }.uma-hero-value strong { font-size: 1.65rem; }.uma-history-card .data-table { min-width: 650px; } }

/* Catálogo de herramientas y ficha UMA */
.public-tools { max-width: 1120px; }.public-tools-header { max-width: 1080px; margin: 0 auto 34px; }.public-tools-header img { width: 48px; height: 48px; }
.tools-page-intro .section-intro { justify-content: center; margin: 0 auto 28px; text-align: center; }.tools-page-intro .section-intro > div { max-width: 680px; }.tools-page-intro .section-intro h2 { font-size: clamp(1.55rem,3vw,2rem); }.tools-page-intro .section-intro span { display: block; line-height: 1.65; }
.tools-catalog { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }.tool-catalog-card { min-height: 322px; padding: 23px; display: flex; flex-direction: column; overflow: hidden; position: relative; }.tool-catalog-card.is-featured { border-color: #d8e1d4; background: linear-gradient(145deg,#fff 0%,#f7faf4 100%); }.tool-catalog-card.is-featured::after { content: ''; width: 150px; height: 150px; position: absolute; top: -84px; right: -62px; border: 1px solid rgba(111,131,103,.14); border-radius: 50%; }.tool-catalog-top { display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 1; }.tool-catalog-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; background: #edf2e9; color: #60745a; font-size: 1.35rem; }.tool-access-chip { padding: 5px 8px; border-radius: 20px; background: #f1f3ef; color: #889285; font-size: .54rem; letter-spacing: .09em; font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }.tool-access-chip.available { background: #e4f0e5; color: #4d7457; letter-spacing: 0; text-transform: none; font-size: .6rem; }.tool-catalog-kicker { margin: 22px 0 6px; color: #98a294; font-size: .56rem; letter-spacing: .15em; font-weight: 600; }.tool-catalog-card h3 { margin: 0; color: #465340; font-family: 'Cinzel'; font-size: 1rem; }.tool-catalog-card > p:not(.tool-catalog-kicker) { margin: 10px 0 15px; color: #7f897c; font-size: .72rem; line-height: 1.6; }.tool-catalog-value { margin: auto 0 14px; padding: 13px 14px; border-radius: 10px; background: #eef3ea; }.tool-catalog-value strong { display: block; color: #455241; font-family: 'Cinzel'; font-size: 1.25rem; }.tool-catalog-value span { display: block; margin-top: 5px; color: #7d8879; font-size: .62rem; }.tool-catalog-action { width: fit-content; margin-top: auto; color: #60765a; text-decoration: none; font-size: .69rem; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }.tool-catalog-action .ph { transition: transform .2s; }.tool-catalog-action:hover .ph { transform: translateX(3px); }
.tools-section-heading { padding: 58px 0 22px; scroll-margin-top: 100px; text-align: center; }.tools-section-heading p { margin: 0 0 7px; color: #93a18f; font-size: .58rem; letter-spacing: .17em; font-weight: 600; }.tools-section-heading h2 { margin: 0; color: #42503e; font-family: 'Cinzel'; font-size: 1.35rem; }.tools-section-heading span { display: block; margin-top: 8px; color: #7f897c; font-size: .76rem; }
.uma-workspace { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); overflow: hidden; }.uma-current-panel,.uma-calculator { min-width: 0; padding: 29px; }.uma-current-panel { display: flex; flex-direction: column; background: linear-gradient(145deg,#fbfcf9,#f2f6ef); }.uma-current-heading,.uma-calculator-heading { display: flex; align-items: center; gap: 12px; }.uma-current-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; background: #e6eee2; color: #60745a; font-size: 1.35rem; }.uma-current-heading p,.uma-calculator-heading p { margin: 0 0 4px; color: #8b9887; font-size: .56rem; letter-spacing: .15em; }.uma-current-heading div > span { color: #788575; font-size: .69rem; }.uma-current-value { display: block; margin-top: 30px; color: #43503f; font-family: 'Cinzel'; font-size: clamp(2rem,4vw,2.7rem); line-height: 1.05; }.uma-current-date { display: block; margin-top: 8px; color: #758272; font-size: .72rem; }.uma-source-row { margin-top: auto; padding-top: 26px; display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; }.uma-source-row > div { display: flex; flex-direction: column; }.uma-source-row > div strong { color: #53604e; font-family: 'Cinzel'; font-size: .74rem; }.uma-source-row > div small { margin-top: 3px; color: #8d978a; font-size: .6rem; }.uma-source-row > a { color: #657b5f; text-decoration: none; font-size: .64rem; font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }.uma-calculator { border-left: 1px solid var(--line); background: white; }.uma-calculator-heading h3 { margin: 0; color: #4c5948; font-family: 'Cinzel'; font-size: .96rem; }.uma-calculator > .help-text { margin: 15px 0 18px; }.uma-calculator .calculator-grid { gap: 11px; }.uma-calculator .calculator-grid label { font-size: .68rem; }.uma-calculator .calculator-result { margin-top: 4px; padding: 16px; }.uma-calculator .calculator-result strong { font-size: 1.35rem; }
.uma-update-note { margin-top: 14px; padding: 14px 17px; border: 1px solid #dde5d9; border-radius: 11px; background: #f0f4ed; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; color: #667361; }.uma-update-note > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: white; color: #657a5f; }.uma-update-note p { margin: 0; font-size: .68rem; line-height: 1.55; }.uma-update-note p strong { margin-right: 3px; color: #51604d; }.uma-update-note a { color: #60765a; text-decoration: none; white-space: nowrap; font-size: .65rem; font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }
.uma-history-card { margin-top: 14px; overflow: hidden; }.uma-history-card summary { min-height: 80px; padding: 18px 21px; display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }.uma-history-card summary::-webkit-details-marker { display: none; }.uma-history-card summary p { margin: 0 0 5px; color: #9aa497; font-size: .56rem; letter-spacing: .16em; }.uma-history-card summary h3 { margin: 0; color: #465340; font-family: 'Cinzel'; font-size: .96rem; }.uma-history-card summary > span { color: #7f8b7b; font-size: .65rem; display: inline-flex; align-items: center; gap: 8px; }.uma-history-card summary > span .ph { transition: transform .2s; }.uma-history-card[open] summary { border-bottom: 1px solid var(--line); }.uma-history-card[open] summary > span .ph { transform: rotate(180deg); }.uma-history-card .is-current { background: #f6f9f4; }.uma-history-card .is-current td:first-child::after { content: 'VIGENTE'; margin-left: 7px; padding: 3px 6px; border-radius: 12px; background: #e4f0e5; color: #4d7457; font-size: .5rem; letter-spacing: .06em; }.uma-disclaimer { margin: 13px 3px 0; color: #929b90; font-size: .63rem; text-align: center; }
@media (max-width:950px) { .tools-catalog { grid-template-columns: 1fr 1fr; }.tool-catalog-card.is-featured { grid-column: 1 / -1; min-height: 280px; }.uma-workspace { grid-template-columns: 1fr; }.uma-current-panel { min-height: 320px; }.uma-calculator { border-left: 0; border-top: 1px solid var(--line); } }
@media (max-width:720px) { .public-tools-shell { padding: 24px 16px 34px; }.public-tools-header { margin-bottom: 27px; }.tools-catalog { grid-template-columns: 1fr; }.tool-catalog-card.is-featured { grid-column: auto; }.tool-catalog-card { min-height: 300px; }.tools-section-heading { padding-top: 45px; }.uma-current-panel,.uma-calculator { padding: 22px; }.uma-current-panel { min-height: 315px; }.uma-source-row { grid-template-columns: auto 1fr; }.uma-source-row > a { grid-column: 2; }.uma-update-note { grid-template-columns: auto 1fr; }.uma-update-note a { grid-column: 2; white-space: normal; }.uma-history-card summary { align-items: flex-start; }.uma-history-card summary > span { text-align: right; }.uma-history-card .data-table { min-width: 650px; } }
.tool-catalog-card button.tool-catalog-action { padding: 0; border: 0; background: none; text-align: left; }
.tool-catalog-card.is-selected { border-color: #82977b; box-shadow: 0 0 0 3px rgba(130,151,123,.12), 0 18px 45px rgba(63,76,58,.08); }
.tool-catalog-card.is-selected .tool-catalog-icon { background: #6d8167; color: white; }
.tool-catalog-card.is-selected .tool-catalog-action { color: #4d6748; }
.tool-catalog-icon { transition: background .2s,color .2s; }
.tool-catalog-card-link { color: inherit; text-decoration: none; cursor: pointer; transition: transform .2s, border-color .2s, box-shadow .2s; }
.tool-catalog-card-link:hover { transform: translateY(-3px); border-color: #b8c6b3; box-shadow: 0 13px 30px rgba(64,78,60,.1); }
.tool-catalog-card-link:focus-visible { outline: 3px solid rgba(109,129,103,.28); outline-offset: 3px; }

/* Cálculo porcentual y copia de montos */
.tools-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
.percentage-workspace { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); overflow: hidden; }.percentage-controls,.percentage-result-panel { min-width: 0; padding: 29px; }.percentage-controls { background: white; }.percentage-controls > .help-text { margin: 15px 0 20px; }.percentage-controls form { display: grid; gap: 17px; }.percentage-controls label { display: grid; gap: 7px; color: #61705d; font-size: .7rem; }.percentage-controls input:not([type="range"]) { width: 100%; border: 1px solid #dce2d8; border-radius: 9px; padding: 12px; background: white; color: #53604f; outline: none; }.percentage-controls input:not([type="range"]):focus { border-color: var(--sage); box-shadow: 0 0 0 3px rgba(156,176,149,.14); }.percentage-presets { display: flex; flex-wrap: wrap; gap: 8px; }.percentage-presets button { min-width: 57px; padding: 8px 12px; border: 1px solid #dbe2d7; border-radius: 20px; background: #f7f9f5; color: #687664; font-size: .67rem; font-weight: 600; }.percentage-presets button:hover,.percentage-presets button.is-active { border-color: #82977b; background: #6d8167; color: white; }.percentage-slider-field { display: grid; gap: 7px; padding-top: 2px; }.percentage-slider-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }.percentage-slider-heading label { display: block; }.percentage-slider-heading output { min-width: 58px; padding: 6px 10px; border: 1px solid #d5dfd1; border-radius: 18px; background: #f3f7f1; color: #52654c; font-size: .75rem; font-weight: 700; text-align: center; }.percentage-slider-field input[type="range"] { --percentage-progress: 15%; width: 100%; height: 22px; margin: 2px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; appearance: none; -webkit-appearance: none; }.percentage-slider-field input[type="range"]::-webkit-slider-runnable-track { height: 6px; border-radius: 999px; background: linear-gradient(to right,#71866b 0 var(--percentage-progress),#e2e8df var(--percentage-progress) 100%); }.percentage-slider-field input[type="range"]::-moz-range-track { height: 6px; border-radius: 999px; background: #e2e8df; }.percentage-slider-field input[type="range"]::-moz-range-progress { height: 6px; border-radius: 999px; background: #71866b; }.percentage-slider-field input[type="range"]::-webkit-slider-thumb { width: 20px; height: 20px; margin-top: -7px; border: 3px solid white; border-radius: 50%; background: #71866b; box-shadow: 0 1px 5px rgba(66,81,61,.28); appearance: none; -webkit-appearance: none; }.percentage-slider-field input[type="range"]::-moz-range-thumb { width: 14px; height: 14px; border: 3px solid white; border-radius: 50%; background: #71866b; box-shadow: 0 1px 5px rgba(66,81,61,.28); }.percentage-slider-field input[type="range"]:focus-visible { outline: 3px solid rgba(156,176,149,.28); outline-offset: 4px; }.percentage-slider-scale { display: flex; justify-content: space-between; color: #899487; font-size: .58rem; }.percentage-slider-field small { color: #899487; font-size: .58rem; }.percentage-result-panel { display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--line); background: linear-gradient(145deg,#fbfcf9,#f0f5ed); }.result-eyebrow { margin: 0 0 7px; color: #8b9887; font-size: .56rem; letter-spacing: .16em; }.percentage-result-panel > span { color: #768273; font-size: .72rem; }.percentage-result-panel > strong { display: block; margin-top: 8px; color: #43503f; font-family: 'Cinzel'; font-size: clamp(1.8rem,4vw,2.5rem); }
.legal-copy-block { margin-top: 19px; padding-top: 16px; border-top: 1px solid rgba(115,133,109,.18); }.legal-copy-block > span { display: block; color: #8b9788; font-size: .55rem; letter-spacing: .14em; }.legal-copy-block > p { margin: 8px 0 13px; color: #52604e; font-family: 'Cinzel'; font-size: .72rem; line-height: 1.6; }.legal-copy-block button { width: fit-content; padding: 9px 12px; border: 1px solid #cfd9cb; border-radius: 8px; background: white; color: #61765b; font-size: .66rem; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }.legal-copy-block button:hover { background: #f7f9f5; }.legal-copy-block small { margin-left: 9px; color: #4f7658; font-size: .62rem; }.calculator-result .legal-copy-block { margin-top: 15px; }.calculator-result .legal-copy-block > p { margin-bottom: 11px; font-family: 'DM Sans','Montserrat',sans-serif; font-size: .67rem; }.calculator-result .legal-copy-block button { padding: 8px 10px; }
.legal-copy-block button:disabled { opacity: .48; cursor: not-allowed; }
.legal-copy-block button:disabled:hover { background: white; }
@media (max-width:950px) { .percentage-workspace { grid-template-columns: 1fr; }.percentage-result-panel { min-height: 310px; border-left: 0; border-top: 1px solid var(--line); } }
@media (max-width:720px) { .percentage-controls,.percentage-result-panel { padding: 22px; }.percentage-result-panel { min-height: 290px; }.percentage-presets button { flex: 1 0 54px; }.legal-copy-block button { width: 100%; justify-content: center; }.legal-copy-block small { display: block; min-height: 16px; margin: 7px 0 0; text-align: center; } }
@media (max-width:720px) {
  .tools-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .tool-catalog-card,.tool-catalog-card.is-featured { min-height: 136px; padding: 15px; }
  .tool-catalog-card .tool-access-chip,.tool-catalog-card .tool-catalog-kicker,.tool-catalog-card > p:not(.tool-catalog-kicker),.tool-catalog-card .tool-catalog-value { display: none; }
  .tool-catalog-card h3 { margin: 14px 24px 0 0; font-size: .85rem; line-height: 1.35; }
  .tool-catalog-icon { width: 42px; height: 42px; font-size: 1.2rem; }
  .tool-catalog-action { position: absolute; right: 14px; bottom: 13px; margin: 0; }
  .tool-catalog-action-label { display: none; }
}

/* Gestión de registros por usuario */
.owner-management-bar { margin-bottom: 16px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: linear-gradient(135deg,#f7faf5,#eef3eb); }
.owner-management-copy { display: flex; align-items: center; gap: 12px; }
.owner-management-copy > span { width: 39px; height: 39px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; background: white; color: #60745a; font-size: 1.2rem; }
.owner-management-copy div,.record-owner { display: flex; flex-direction: column; }
.owner-management-copy strong { color: #4f5d4b; font-size: .76rem; }
.owner-management-copy small,.record-owner small { margin-top: 4px; color: #8b9688; font-size: .62rem; }
.owner-management-form { display: grid; grid-template-columns: auto minmax(230px,340px) auto; gap: 8px; align-items: center; }
.owner-management-form label { color: #72806f; font-size: .66rem; font-weight: 600; }
.owner-management-form select { width: 100%; border: 1px solid #d8e0d4; border-radius: 9px; padding: 9px 11px; background: white; color: #53604f; font-size: .7rem; }
.owner-management-form .secondary-action { padding: 9px 12px; white-space: nowrap; }
.record-owner strong { white-space: nowrap; font-size: .7rem; }
@media (max-width:720px) { .owner-management-bar { align-items: stretch; flex-direction: column; }.owner-management-form { grid-template-columns: 1fr; }.owner-management-form .secondary-action { width: 100%; } }

/* Expedientes e importación asistida PJN */
.case-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }.case-card { min-width: 0; padding: 20px; color: inherit; text-decoration: none; display: flex; flex-direction: column; transition: transform .2s,border-color .2s,box-shadow .2s; }.case-card:hover { transform: translateY(-2px); border-color: #bdcbb8; box-shadow: 0 15px 34px rgba(60,75,56,.09); }.case-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.case-source { color: #71806d; font-size: .6rem; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }.case-status { max-width: 210px; padding: 5px 9px; border-radius: 20px; background: #e9f0e5; color: #587052; font-size: .58rem; text-align: center; }.case-card > strong { margin-top: 18px; color: #465340; font-family: 'Cinzel'; font-size: 1.06rem; }.case-card h3 { margin: 8px 0 15px; color: #687465; font-size: .74rem; font-weight: 500; line-height: 1.55; }.case-card-meta { display: grid; gap: 7px; }.case-card-meta span,.case-owner { min-width: 0; color: #899487; font-size: .64rem; display: flex; align-items: flex-start; gap: 6px; }.case-card-meta .ph,.case-owner .ph { flex: 0 0 auto; margin-top: 1px; color: #788c72; }.case-owner { margin-top: 12px; padding: 9px 10px; border-radius: 8px; background: #f5f7f3; }.case-card-footer { margin-top: 18px; padding-top: 13px; border-top: 1px solid #ecefe9; color: #929b90; font-size: .58rem; display: flex; justify-content: space-between; gap: 12px; }.case-card-footer span:last-child { text-align: right; }.case-empty { padding: 55px 25px; }.case-empty > span { width: 52px; height: 52px; margin: 0 auto 15px; border-radius: 14px; background: #edf2e9; color: #667961; font-size: 1.5rem; display: grid; place-items: center; }.case-empty .primary-action { width: fit-content; margin: 17px auto 0; color: white; text-decoration: none; }
.pjn-import-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 16px; align-items: start; }.pjn-brand-row { margin-bottom: 22px; display: flex; align-items: center; gap: 12px; }.pjn-brand-row > span { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 12px; background: #eaf0e6; color: #62765c; font-size: 1.35rem; }.pjn-brand-row p,.case-preview-heading p { margin: 0 0 4px; color: #909b8d; font-size: .56rem; letter-spacing: .13em; }.pjn-brand-row h3 { margin: 0; color: #4b5947; font-family: 'Cinzel'; font-size: .88rem; }.pjn-captcha-field { padding: 16px; border: 1px solid #dce4d8; border-radius: 11px; background: #f6f8f4; }.pjn-captcha-field > span { display: block; margin-bottom: 11px; color: #7b8977; font-size: .57rem; letter-spacing: .12em; }.pjn-captcha { min-height: 82px; overflow: hidden; }.pjn-captcha-field small { display: block; margin-top: 9px; color: #8b9588; font-size: .61rem; line-height: 1.45; }.pjn-captcha-field small.is-error { color: #a34f48; }.pjn-help-card { padding: 24px; }.pjn-help-card > span { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 12px; background: #edf2e9; color: #61755b; font-size: 1.35rem; }.pjn-help-card h3 { margin: 18px 0 10px; color: #4a5846; font-family: 'Cinzel'; font-size: .9rem; }.pjn-help-card p,.pjn-help-card li { color: #7f8b7b; font-size: .69rem; line-height: 1.6; }.pjn-help-card ul { padding-left: 18px; }.pjn-help-card a { color: #60765a; text-decoration: none; font-size: .67rem; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }.pjn-errors { margin-bottom: 16px; }
.pjn-copy-steps { padding: 16px; border: 1px solid #dce4d8; border-radius: 11px; background: #f6f8f4; display: grid; gap: 10px; }.pjn-copy-steps > div { display: grid; grid-template-columns: 24px 1fr; gap: 9px; align-items: center; color: #748170; font-size: .67rem; line-height: 1.45; }.pjn-copy-steps b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #dfe9db; color: #5c7256; font-size: .62rem; }.pjn-copy-steps .secondary-action { width: fit-content; margin-top: 4px; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }.field-help { display: block; margin-top: 2px; color: #8d978a; font-size: .61rem; font-weight: 400; line-height: 1.45; }
.pjn-shortcut { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e5e9e2; }.pjn-shortcut summary { color: #667861; font-size: .67rem; font-weight: 600; cursor: pointer; }.pjn-shortcut p { margin: 10px 0; font-size: .63rem; }.pjn-shortcut .pjn-bookmarklet { width: fit-content; padding: 9px 11px; border: 1px solid #ced9ca; border-radius: 8px; background: #f7faf5; }.pjn-shortcut small { display: block; margin-top: 8px; color: #63805d; font-size: .59rem; line-height: 1.4; }
.case-preview-card { overflow: hidden; }.case-preview-heading { padding: 23px; display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; background: linear-gradient(135deg,#f7faf5,#edf3ea); }.case-preview-heading > span:first-child { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; background: white; color: #587452; font-size: 1.35rem; }.case-preview-heading h2 { margin: 0; color: #43503f; font-family: 'Cinzel'; font-size: 1.25rem; }.case-detail-grid { padding: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.case-detail-grid > div { padding: 14px; border: 1px solid #e5e9e2; border-radius: 10px; }.case-detail-grid span { display: block; color: #929c90; font-size: .54rem; letter-spacing: .11em; }.case-detail-grid strong { display: block; margin-top: 7px; color: #53604f; font-size: .73rem; line-height: 1.5; }.pjn-preview-movements { margin: 0 22px; padding: 17px; border-radius: 11px; background: #f5f7f3; }.pjn-preview-movements > p { margin: 0 0 12px; color: #8b9688; font-size: .56rem; letter-spacing: .12em; }.pjn-preview-movements > div { padding: 9px 0; display: grid; grid-template-columns: 90px 1fr; gap: 12px; border-top: 1px solid #e4e8e1; }.pjn-preview-movements time { color: #73836f; font-size: .64rem; }.pjn-preview-movements span { display: flex; flex-direction: column; }.pjn-preview-movements strong { color: #53604f; font-size: .68rem; }.pjn-preview-movements small { margin-top: 3px; color: #8b9588; font-size: .62rem; }.case-preview-actions { padding: 22px; display: flex; gap: 9px; }.case-preview-actions a { text-decoration: none; }
.case-detail-hero { padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: linear-gradient(135deg,#fbfcf9,#eef3eb); }.case-detail-title { display: flex; align-items: center; gap: 13px; }.case-detail-title > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; background: white; color: #60765a; font-size: 1.4rem; }.case-detail-title p { margin: 0 0 4px; color: #929d8f; font-size: .55rem; letter-spacing: .13em; }.case-detail-title h2 { margin: 0; color: #43503f; font-family: 'Cinzel'; font-size: 1.3rem; }.case-detail-title small { display: block; margin-top: 5px; color: #7d897a; font-size: .67rem; }.case-detail-owner { margin: 10px 3px 16px; color: #7b8877; font-size: .66rem; display: flex; align-items: center; gap: 6px; }.case-detail-owner span { color: #9aa297; }.case-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 16px; }.case-data-card { overflow: hidden; }.case-data-card dl { margin: 0; padding: 6px 21px 21px; display: grid; gap: 0; }.case-data-card dl > div { padding: 14px 0; border-top: 1px solid #ecefe9; }.case-data-card dt { color: #919b8f; font-size: .57rem; letter-spacing: .1em; text-transform: uppercase; }.case-data-card dd { margin: 6px 0 0; color: #53604f; font-size: .73rem; line-height: 1.55; }.case-actions-card { padding: 22px; display: flex; flex-direction: column; gap: 9px; }.case-actions-card > p { margin: 0; color: #929d8f; font-size: .55rem; letter-spacing: .13em; }.case-actions-card h3 { margin: 0 0 8px; color: #4b5947; font-family: 'Cinzel'; font-size: .88rem; }.case-actions-card a { text-decoration: none; justify-content: center; }.case-actions-card .secondary-action { display: inline-flex; align-items: center; gap: 6px; }.case-actions-card .text-action { margin-top: 5px; color: #64795e; font-size: .65rem; display: inline-flex; align-items: center; justify-content: center; gap: 5px; }.case-actions-card form { margin: 0; }.case-actions-card button.text-action { width: 100%; padding: 6px; border: 0; background: none; }.case-movements-card { margin-top: 16px; overflow: hidden; }.case-movements-card .panel-heading > span { color: #8d988a; font-size: .64rem; }.case-timeline { padding: 0 21px 22px; }.case-timeline article { display: grid; grid-template-columns: 86px 11px 1fr; gap: 12px; position: relative; }.case-timeline article:not(:last-child)::after { content: ''; width: 1px; position: absolute; left: 103px; top: 29px; bottom: -5px; background: #dfe5dc; }.case-timeline time { padding-top: 17px; color: #71816d; font-size: .64rem; text-align: right; }.case-timeline article > span { width: 9px; height: 9px; margin-top: 20px; border: 2px solid white; border-radius: 50%; background: #7c9275; box-shadow: 0 0 0 2px #dce5d8; position: relative; z-index: 1; }.case-timeline article > div { padding: 15px 0; border-top: 1px solid #edf0eb; }.case-timeline strong { color: #53604f; font-size: .71rem; }.case-timeline p { margin: 5px 0; color: #727f6f; font-size: .68rem; line-height: 1.55; }.case-timeline small { color: #97a094; font-size: .59rem; }.case-timeline a { margin-left: 8px; color: #60765a; text-decoration: none; font-size: .61rem; display: inline-flex; align-items: center; gap: 4px; }
@media (max-width:900px) { .case-grid,.pjn-import-layout,.case-detail-layout { grid-template-columns: 1fr; } }
@media (max-width:720px) { .case-grid { grid-template-columns: 1fr; }.case-card-footer { align-items: flex-start; flex-direction: column; }.case-card-footer span:last-child { text-align: left; }.case-preview-heading,.case-detail-hero { align-items: flex-start; }.case-preview-heading { grid-template-columns: auto 1fr; }.case-preview-heading .case-status { grid-column: 2; }.case-detail-hero { flex-direction: column; }.case-detail-grid { grid-template-columns: 1fr; }.case-preview-actions { flex-direction: column; }.case-preview-actions .primary-action,.case-preview-actions .secondary-action { width: 100%; justify-content: center; }.pjn-preview-movements > div { grid-template-columns: 1fr; }.case-timeline article { grid-template-columns: 65px 11px 1fr; gap: 9px; }.case-timeline article:not(:last-child)::after { left: 79px; } }

/* Honorarios conectados y agenda mensual */
.case-secondary-create { margin: -15px 0 18px; display: flex; justify-content: flex-end; }.case-secondary-create a { display: inline-flex; align-items: center; gap: 6px; }.table-subline { display: block; margin-top: 4px; color: #929b90; font-size: .6rem; }.payment-plan-fields { margin: 2px 0; padding: 18px; border: 1px solid #dfe5dc; border-radius: 11px; background: #f7f9f5; }.payment-plan-fields legend { padding: 0 7px; color: #596b54; font-family: 'Cinzel'; font-size: .72rem; }.payment-plan-fields > label { max-width: 360px; }.payment-plan-fields [data-installment-options] { margin-top: 15px; display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }.payment-plan-fields > p { margin: 13px 0 0; color: #879384; font-size: .63rem; line-height: 1.5; }.payment-plan-fields [hidden] { display: none; }
.fee-detail-hero { padding: 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; background: linear-gradient(135deg,#fafcf8,#edf3e9); }.fee-detail-hero p { margin: 0 0 6px; color: #8c9789; font-size: .56rem; letter-spacing: .13em; }.fee-detail-hero h2 { margin: 0; color: #43513f; font-family: 'Cinzel'; font-size: 1.25rem; }.fee-detail-hero div > span { display: block; margin-top: 7px; color: #7d8979; font-size: .68rem; }.fee-balance-grid { margin: 16px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.fee-balance-grid article { padding: 20px; }.fee-balance-grid span { display: block; color: #929b90; font-size: .56rem; letter-spacing: .1em; }.fee-balance-grid strong { display: block; margin-top: 9px; color: #53604f; font-size: 1.08rem; }.fee-balance-grid .paid { background: #f4f8f2; }.fee-balance-grid .paid strong { color: #52704f; }.fee-balance-grid .balance { background: #fbf7ef; }.fee-balance-grid .balance strong { color: #8a6a3f; }.fee-progress { margin-bottom: 16px; padding: 18px 20px; }.fee-progress > div:first-child { display: flex; justify-content: space-between; color: #687565; font-size: .68rem; }.fee-progress > div:last-child { height: 8px; margin-top: 10px; overflow: hidden; border-radius: 9px; background: #edf0ea; }.fee-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#708769,#91a88a); }.fee-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 285px; gap: 16px; }.fee-payment-card { overflow: hidden; }.fee-payment-card form { padding: 0 21px 22px; }.fee-paid-message { margin: 0 21px 22px; padding: 22px; border-radius: 10px; background: #edf5e9; color: #577151; display: flex; align-items: center; gap: 10px; }.installment-card,.payment-history { margin-top: 16px; overflow: hidden; }.installment-card .panel-heading > span,.agenda-list-card .panel-heading > span { color: #8b9688; font-size: .63rem; }.installment-list { padding: 0 20px 21px; }.installment-row { padding: 12px 0; display: grid; grid-template-columns: 34px 155px 150px minmax(130px,1fr) auto; align-items: end; gap: 10px; border-top: 1px solid #ecefe9; }.installment-row > b { width: 29px; height: 29px; align-self: center; display: grid; place-items: center; border-radius: 50%; background: #edf2e9; color: #62745c; font-size: .67rem; }.installment-row label { color: #879284; font-size: .59rem; display: grid; gap: 5px; }.installment-row input { width: 100%; padding: 8px 9px; border: 1px solid #dfe4dc; border-radius: 8px; color: #576454; }.installment-row > div { align-self: center; display: flex; flex-direction: column; gap: 4px; }.installment-row > div > span { color: #879284; font-size: .6rem; }.installment-row .link-action { align-self: center; }.badge.paid { background: #e5f2e9; color: #447052; }.payment-history .table-wrap { border: 0; }
.agenda-month { overflow: hidden; }.agenda-month > header { padding: 20px; display: flex; align-items: center; justify-content: center; gap: 25px; border-bottom: 1px solid #e8ece5; }.agenda-month > header h2 { min-width: 210px; margin: 0; color: #4f5d4b; font-family: 'Cinzel'; font-size: 1rem; text-align: center; }.agenda-month > header a { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #dce3d8; border-radius: 8px; color: #63745e; text-decoration: none; }.agenda-weekdays,.agenda-grid { display: grid; grid-template-columns: repeat(7,1fr); }.agenda-weekdays { padding: 0 15px; background: #f7f9f5; }.agenda-weekdays span { padding: 11px 5px; color: #8d978a; font-size: .57rem; text-align: center; }.agenda-grid { padding: 0 15px 15px; }.agenda-day,.agenda-grid .outside { min-height: 104px; padding: 8px; border-right: 1px solid #edf0eb; border-bottom: 1px solid #edf0eb; }.agenda-day:nth-child(7n),.agenda-grid .outside:nth-child(7n) { border-right: 0; }.agenda-day > b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #657261; font-size: .64rem; }.agenda-day.today > b { background: #6d8267; color: white; }.agenda-event { margin-top: 5px; padding: 4px 5px; overflow: hidden; border-radius: 5px; background: #eef2eb; color: #697765; font-size: .52rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; display: block; }.agenda-event.fee_installment,.agenda-source.fee_installment { background: #f7efe0; color: #8a6b3d; }.agenda-event.fee_review,.agenda-source.fee_review { background: #e9f0e6; color: #5d7557; }.agenda-day > small { display: block; margin-top: 4px; color: #919a8f; font-size: .5rem; }.agenda-list-card { margin-top: 16px; }.agenda-source { padding: 5px 7px; border-radius: 20px; background: #eef1ec; color: #758171; font-size: .57rem; }
@media (max-width:900px) { .fee-detail-layout { grid-template-columns: 1fr; }.installment-row { grid-template-columns: 32px 1fr 1fr; }.installment-row > div { grid-column: 2; }.installment-row > button { grid-column: 3; } }
@media (max-width:720px) { .case-secondary-create { margin-top: -7px; justify-content: stretch; }.case-secondary-create a { width: 100%; justify-content: center; }.payment-plan-fields [data-installment-options],.fee-balance-grid { grid-template-columns: 1fr; }.fee-detail-hero { align-items: flex-start; flex-direction: column; }.agenda-month { overflow-x: auto; }.agenda-weekdays,.agenda-grid { min-width: 680px; }.installment-row { grid-template-columns: 30px 1fr; }.installment-row label,.installment-row > div,.installment-row > button { grid-column: 2; }.installment-row > button { justify-self: start; }.agenda-list-card .data-table { min-width: 700px; } }

/* Clientes y vínculos rápidos */
.client-directory { overflow: hidden; }.client-search-row { padding: 17px 19px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 10px; background: #f8faf6; color: #71806d; }.client-search-row input { width: min(100%,520px); border: 1px solid #dce3d8; border-radius: 9px; padding: 10px 12px; background: white; color: #4f5d4b; outline: none; }.client-directory tr[hidden] { display: none; }
.relation-picker { margin: 2px 0; padding: 18px; border: 1px solid #dfe5dc; border-radius: 11px; background: #f8faf6; }.relation-picker legend { padding: 0 8px; color: #596b54; font-family: 'Cinzel'; font-size: .72rem; }.relation-picker legend .ph { margin-right: 5px; }.relation-picker-grid,.relation-new-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }.relation-create-toggle { margin-top: 12px; padding: 7px 0; border: 0; background: transparent; color: #657a5f; font-size: .66rem; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }.relation-create-toggle.is-active { color: #496544; }.relation-new-fields { margin-top: 12px; padding: 14px; border: 1px dashed #cfd9ca; border-radius: 9px; background: white; }.relation-new-fields[hidden] { display: none; }
@media (max-width:720px) { .relation-picker-grid,.relation-new-fields { grid-template-columns: 1fr; }.client-directory .data-table { min-width: 720px; } }
.global-management-context{margin:16px 24px 0;padding:14px 16px;border:1px solid #cfd9ca;border-left:4px solid #698160;border-radius:12px;background:linear-gradient(135deg,#f8fbf6,#eef4eb);display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 8px 24px rgba(52,70,49,.07)}
.global-management-context.is-all{border-left-color:#aa7b34;background:linear-gradient(135deg,#fffaf1,#f7efe1)}
.global-management-label{display:flex;align-items:center;gap:12px;min-width:0}.global-management-label>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#61785a;color:#fff;font-size:1.25rem;flex:none}.global-management-context.is-all .global-management-label>span{background:#a47737}.global-management-label div{display:grid;min-width:0}.global-management-label small{font-size:.62rem;letter-spacing:.13em;color:#74816f}.global-management-label strong{font-family:Georgia,serif;font-size:1.05rem;color:#34452f}.global-management-label em{font-style:normal;font-size:.7rem;color:#73806f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-management-context form{display:flex;align-items:end;gap:8px}.global-management-context form label{display:grid;gap:4px;font-size:.62rem;letter-spacing:.08em;color:#667361}.global-management-context form select{min-width:260px;max-width:380px}.global-management-context form .secondary-action{white-space:nowrap}
.context-owner-locked{padding:12px 14px;border:1px solid #d3ddcf;border-radius:10px;background:#f5f8f3;display:flex;align-items:center;gap:10px}.context-owner-locked>span{font-size:1.15rem;color:#657d5e}.context-owner-locked div{display:grid}.context-owner-locked small{font-size:.65rem;color:#778372}.context-owner-locked strong{color:#394b35}.context-owner-locked em{font-size:.7rem;font-style:normal;color:#7d8879}
@media(max-width:760px){.global-management-context{margin:12px 14px 0;align-items:stretch;flex-direction:column;padding:13px}.global-management-context form{align-items:stretch;display:grid;grid-template-columns:1fr auto}.global-management-context form label{grid-column:1/-1}.global-management-context form select{min-width:0;width:100%}.global-management-context form .secondary-action{padding-inline:12px}}
/* Búsqueda general y fichas conectadas */
.topbar-title{flex:none}.topbar-search{width:min(38vw,470px);margin-left:34px;padding:7px 9px 7px 12px;border:1px solid #dfe5dc;border-radius:11px;background:#fff;display:flex;align-items:center;gap:8px}.topbar-search>span{color:#81907d;display:grid}.topbar-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#4d5b49;font-size:.72rem}.topbar-search button{padding:4px;border:0;background:transparent;color:#62775c;display:grid;place-items:center}
.search-page-form{padding:15px 17px;display:flex;align-items:center;gap:10px}.search-page-form>span{color:#71816d;font-size:1.15rem}.search-page-form input{min-width:0;flex:1;padding:10px 0;border:0;outline:0;background:transparent;color:#4d5b49}.search-page-form button{width:auto}.search-summary{margin:18px 3px 12px;color:#7f8c7b;font-size:.7rem}.search-result-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.search-result-group{overflow:hidden}.search-result-group>header{padding:18px;display:flex;align-items:center;gap:11px;background:#f7f9f5;border-bottom:1px solid #e7ebe4}.search-result-group>header>span{width:38px;height:38px;border-radius:10px;background:#e8efe4;color:#62785c;display:grid;place-items:center;font-size:1.1rem}.search-result-group header p{margin:0 0 3px;color:#929d8f;font-size:.53rem;letter-spacing:.12em}.search-result-group header h3{margin:0;color:#4c5b48;font-family:'Cinzel';font-size:.75rem}.search-result-group>div>a{padding:14px 16px;border-top:1px solid #edf0eb;color:inherit;text-decoration:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center}.search-result-group>div>a:first-child{border-top:0}.search-result-group>div>a:hover{background:#fafbf8}.search-result-group>div>a>span{width:32px;height:32px;border-radius:9px;background:#f0f4ed;color:#6a7d65;display:grid;place-items:center}.search-result-group>div>a>div{min-width:0;display:grid;gap:3px}.search-result-group a strong{color:#4b5947;font-size:.7rem}.search-result-group a small{overflow:hidden;color:#858f82;font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.search-result-group a em{color:#9a8870;font-size:.55rem;font-style:normal}.search-result-group a>.ph{color:#9da69a}.search-no-group{padding:18px;color:#929c8f;font-size:.65rem}.search-empty>span{font-size:1.6rem;color:#81917c}
.client-name-link{color:inherit;text-decoration:none}.client-name-link:hover strong{color:#60785a}.client-detail-hero{padding:22px;display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#fafcf8,#eef3e9)}.client-avatar{width:54px;height:54px;border-radius:16px;background:#637a5d;color:#fff;font-family:'Cinzel';font-size:1.35rem;display:grid;place-items:center}.client-detail-heading{min-width:0}.client-detail-heading p{margin:0 0 4px;color:#909b8d;font-size:.55rem;letter-spacing:.13em}.client-detail-heading h2{margin:0;color:#43513f;font-family:'Cinzel';font-size:1.25rem}.client-detail-heading span{display:block;margin-top:5px;color:#7e8a7b;font-size:.67rem}.client-hero-actions{margin-left:auto}.client-hero-actions a{text-decoration:none;display:inline-flex;align-items:center;gap:6px}.client-metric-grid{margin:16px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.client-metric-grid article{padding:18px}.client-metric-grid span{color:#919c8f;font-size:.53rem;letter-spacing:.1em}.client-metric-grid strong{display:block;margin-top:8px;color:#50604c;font-size:1.02rem}.client-metric-grid small{display:block;margin-top:4px;color:#8c9789;font-size:.59rem}.client-metric-grid .paid{background:#f3f8f1}.client-metric-grid .balance{background:#fbf7ef}.client-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:16px}.client-contact-card{overflow:hidden}.client-contact-card dl{margin:0;padding:0 21px 21px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.client-contact-card dl>div{padding:14px 0;border-top:1px solid #ecefe9}.client-contact-card dt{color:#8e998b;font-size:.58rem}.client-contact-card dd{margin:6px 0 0;color:#53604f;font-size:.7rem;line-height:1.5}.client-contact-card a{color:#60775a;text-decoration:none}.client-linked-card{margin-top:16px;overflow:hidden}.client-linked-card .panel-heading a{color:#60765a;text-decoration:none;font-size:.63rem;display:inline-flex;align-items:center;gap:4px}.linked-record-list>a{padding:14px 20px;border-top:1px solid #ecefe9;color:inherit;text-decoration:none;display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:11px;align-items:center}.linked-record-list>a:hover{background:#fafbf8}.linked-record-icon{width:36px;height:36px;border-radius:10px;background:#edf2e9;color:#657b5f;display:grid;place-items:center}.linked-record-list>a>div{min-width:0;display:grid;gap:4px}.linked-record-list strong{color:#4c5a48;font-size:.71rem}.linked-record-list small{overflow:hidden;color:#879284;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.linked-record-list em{max-width:180px;overflow:hidden;color:#758270;font-size:.6rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.client-bottom-grid,.case-linked-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.client-deadline-list>a{padding:12px 20px;border-top:1px solid #ecefe9;color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px}.client-deadline-list time{width:42px;height:44px;border-radius:9px;background:#eef3ea;color:#70806c;font-size:.52rem;display:grid;place-items:center}.client-deadline-list time b{font-size:.84rem}.client-deadline-list a>div{display:grid;gap:4px}.client-deadline-list strong{color:#4f5d4b;font-size:.68rem}.client-deadline-list small{color:#8c9689;font-size:.59rem}
.case-connection-strip{margin:16px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.case-connection-strip>a,.case-connection-strip>article{padding:17px;color:inherit;text-decoration:none;display:flex;align-items:center;gap:11px}.case-connection-strip>a>span,.case-connection-strip>article>span{width:39px;height:39px;border-radius:11px;background:#edf2e9;color:#63785d;font-size:1.15rem;display:grid;place-items:center}.case-connection-strip div{min-width:0;display:grid;gap:3px}.case-connection-strip small{color:#929c8f;font-size:.52rem;letter-spacing:.09em}.case-connection-strip strong{overflow:hidden;color:#4d5c49;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.case-connection-strip em{overflow:hidden;color:#8a9587;font-size:.59rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.case-connection-strip>a>.ph:last-child{margin-left:auto;color:#9da69a}.case-connection-strip .is-empty{border-style:dashed}
@media(max-width:1000px){.search-result-columns{grid-template-columns:1fr}.client-metric-grid{grid-template-columns:1fr 1fr}.client-detail-grid,.client-bottom-grid,.case-linked-grid{grid-template-columns:1fr}.case-connection-strip{grid-template-columns:1fr 1fr}.topbar-search{margin-left:20px}}
@media(max-width:720px){.topbar{flex-wrap:wrap}.topbar-title{min-width:0;flex:1}.topbar-search{width:100%;order:4;margin:11px 0 0}.topbar-actions{margin-left:8px}.search-page-form{align-items:stretch;display:grid;grid-template-columns:auto 1fr}.search-page-form button{grid-column:1/-1}.client-detail-hero{align-items:flex-start;flex-wrap:wrap}.client-hero-actions{width:100%;margin-left:68px}.client-metric-grid,.case-connection-strip{grid-template-columns:1fr}.client-contact-card dl{grid-template-columns:1fr}.linked-record-list>a{grid-template-columns:36px minmax(0,1fr) auto}.linked-record-list>a>.ph:last-child{display:none}.linked-record-list em{grid-column:2}.client-bottom-grid .client-linked-card{margin-top:0}}

/* Centro de avisos y prioridades */
.notification-bell{width:38px;height:38px;border:1px solid #dfe5dc;border-radius:10px;background:#fff;color:#64755f!important;display:grid;place-items:center;position:relative}.notification-bell:hover{background:#f4f7f2}.notification-bell.has-unread{border-color:#d8b8ae;color:#9a5d51!important;background:#fff8f5}.notification-bell b{position:absolute;top:-6px;right:-7px;min-width:19px;height:19px;padding:0 5px;border:2px solid var(--paper);border-radius:12px;background:#a85f54;color:#fff;font-size:.53rem;line-height:15px;text-align:center}
.priority-overview{margin-bottom:14px;overflow:hidden}.priority-overview>header{padding:17px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.priority-overview header p{margin:0 0 5px;color:#9aa497;font-size:.56rem;letter-spacing:.16em}.priority-overview header h3{margin:0;color:#465340;font-family:'Cinzel';font-size:.96rem}.priority-overview header a{color:#6c8165;text-decoration:none;font-size:.68rem;display:inline-flex;align-items:center;gap:6px}.priority-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.priority-item{min-width:0;padding:14px 17px;border-right:1px solid #edf0eb;border-bottom:1px solid #edf0eb;color:inherit;text-decoration:none;display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:10px}.priority-item:nth-child(2n){border-right:0}.priority-item:hover{background:#fafbf8}.priority-item>span{width:35px;height:35px;border-radius:10px;background:#eef3eb;color:#687c62;display:grid;place-items:center}.priority-item.critical>span{background:#f8e9e6;color:#a25c51}.priority-item.today>span{background:#f8f0df;color:#9b753b}.priority-item.attention>span{background:#f5eee1;color:#937246}.priority-item div{min-width:0;display:grid;gap:4px}.priority-item strong{color:#4d5b49;font-size:.7rem}.priority-item small{overflow:hidden;color:#899486;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.priority-item time{color:#8d978a;font-size:.56rem;white-space:nowrap}.priority-item>.ph{color:#9da69a}.priority-clear{padding:22px;color:#647760;display:flex;align-items:center;gap:10px;font-size:.72rem}.priority-clear>.ph{font-size:1.25rem;color:#6f8a67}
.notification-intro form{margin:0}.notification-intro button{display:inline-flex;align-items:center;gap:7px}.notification-summary,.agenda-status-strip{margin-bottom:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.notification-summary article,.agenda-status-strip article{min-height:82px;padding:17px 19px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;gap:13px}.notification-summary article>span,.agenda-status-strip article>span{width:39px;height:39px;border-radius:11px;background:#edf2e9;color:#657a5f;font-size:1.15rem;display:grid;place-items:center}.notification-summary div,.agenda-status-strip div{display:grid;gap:4px}.notification-summary small,.agenda-status-strip small{color:#929c8f;font-size:.54rem;letter-spacing:.12em}.notification-summary strong,.agenda-status-strip strong{color:#4b5947;font-family:'Cinzel';font-size:1.15rem}.notification-summary .critical>span,.agenda-status-strip .overdue>span{background:#f8e8e5;color:#a55d52}.notification-summary .today>span,.agenda-status-strip .today>span{background:#faf0dc;color:#9a743a}.notification-summary .upcoming>span{background:#eaf1e7;color:#617a5a}.agenda-status-strip .done>span{background:#e5f2e9;color:#4f7658}
.notification-center-card{overflow:hidden}.notification-center-card .panel-heading>span{color:#8b9688;font-size:.63rem}.notification-list{display:grid}.notification-row{padding:17px 19px;border-top:1px solid #edf0eb;border-left:4px solid #91a58b;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center}.notification-row:first-child{border-top:0}.notification-row.critical{border-left-color:#ad6257;background:#fffaf9}.notification-row.today{border-left-color:#b88c4b;background:#fffdf8}.notification-row.attention{border-left-color:#ad8a55}.notification-row.is-read{border-left-color:#dfe4dc;background:#fbfcfa;opacity:.68}.notification-row-icon{width:40px;height:40px;border-radius:11px;background:#edf2e9;color:#62785c;font-size:1.12rem;display:grid;place-items:center}.notification-row.critical .notification-row-icon{background:#f8e8e5;color:#a55d52}.notification-row.today .notification-row-icon{background:#faf0dc;color:#9a743a}.notification-row-copy{min-width:0}.notification-row-copy>div{display:flex;align-items:center;gap:8px}.notification-row-copy>div span{color:#859181;font-size:.53rem;letter-spacing:.1em}.notification-row-copy time{color:#9aa398;font-size:.56rem}.notification-row h4{margin:5px 0 3px;color:#4a5846;font-size:.74rem}.notification-row p{margin:0;color:#7f8a7c;font-size:.65rem;line-height:1.45}.notification-row-actions{display:flex;align-items:center;gap:8px}.notification-row-actions>a{padding:8px 10px;border:1px solid #dce3d8;border-radius:8px;color:#63775d;text-decoration:none;font-size:.62rem;display:inline-flex;align-items:center;gap:5px}.notification-row-actions form{margin:0}.notification-row-actions button{width:34px;height:34px;border:1px solid #dce3d8;border-radius:8px;background:#fff;color:#6f8269;display:grid;place-items:center}.notification-empty{padding:44px 20px;color:#879384;text-align:center;display:grid;justify-items:center;gap:8px}.notification-empty>.ph{font-size:2rem;color:#9aac94}.notification-empty strong{color:#576653}.notification-empty p{margin:0;font-size:.68rem}.notification-note{margin:13px 2px 0;color:#8b9588;font-size:.62rem;display:flex;align-items:center;gap:6px}
.agenda-filters{margin-bottom:12px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.agenda-filters a{padding:8px 12px;border:1px solid #dfe5dc;border-radius:20px;background:#fff;color:#70806c;text-decoration:none;font-size:.63rem}.agenda-filters a.active{border-color:#6f8568;background:#6f8568;color:#fff}.agenda-filters .agenda-today-link{margin-left:auto;border-radius:9px;display:inline-flex;align-items:center;gap:5px}.agenda-legend{margin:0 2px 12px;display:flex;align-items:center;gap:15px;flex-wrap:wrap;color:#839080;font-size:.58rem}.agenda-legend span{display:flex;align-items:center;gap:5px}.agenda-legend i{width:9px;height:9px;border-radius:3px;background:#eef2eb}.agenda-legend i.fee_review{background:#cbdac7}.agenda-legend i.fee_installment{background:#ead7b3}.agenda-legend i.overdue{background:#d89b91}.agenda-event{text-decoration:none}.agenda-event.is-overdue{background:#f8e5e2!important;color:#9b564c!important}.agenda-event.is-done{text-decoration:line-through;opacity:.58}.agenda-row-overdue{background:#fff9f8}.danger-copy{color:#a35b51!important;font-weight:600}
@media(max-width:900px){.priority-list{grid-template-columns:1fr}.priority-item{border-right:0}.notification-row{grid-template-columns:40px minmax(0,1fr)}.notification-row-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:720px){.notification-summary,.agenda-status-strip{grid-template-columns:1fr}.priority-overview>header{align-items:flex-start;flex-direction:column}.priority-item{grid-template-columns:34px minmax(0,1fr) auto}.priority-item time{grid-column:2}.priority-item>.ph:last-child{display:none}.notification-row{padding:14px 13px}.notification-row-copy>div{align-items:flex-start;flex-direction:column;gap:3px}.notification-row-actions>a{flex:1;justify-content:center}.agenda-filters .agenda-today-link{width:100%;margin-left:0;justify-content:center}.agenda-status-strip article{min-height:70px}}

/* Expediente operativo */
.case-priority,.case-workflow{display:inline-flex;align-items:center;padding:5px 9px;border-radius:20px;font-size:.57rem;font-weight:600;white-space:nowrap}.case-priority{background:#eef2eb;color:#687964}.case-priority.high{background:#faf0dc;color:#96713a}.case-priority.urgent{background:#f8e7e4;color:#a35c51}.case-priority.low{background:#f2f4f1;color:#849080}.case-workflow{background:#eaf1e7;color:#5e7658}.case-workflow.action_required{background:#faeee2;color:#9a6938}.case-workflow.waiting{background:#eef0f6;color:#65708c}.case-workflow.paused{background:#f1f1ee;color:#7c7d73}.case-workflow.closed{background:#e4f1e7;color:#4f7757}.case-workflow-row{margin-top:12px;padding:10px 0;border-top:1px solid #edf0eb;display:flex;align-items:center;gap:9px}.case-workflow-row>span:last-child{min-width:0;overflow:hidden;color:#7f8b7c;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.case-hero-badges{margin-left:auto;display:flex;align-items:center;gap:7px}.case-next-action{margin:15px 0;padding:18px 20px;border-left:4px solid #8a6f42;display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#fffdf8,#f6f1e7)}.case-next-action.is-empty{border-left-color:#789070;background:linear-gradient(135deg,#fafcf8,#f0f5ed)}.case-next-action>span{width:45px;height:45px;border-radius:13px;background:#9a7a43;color:#fff;font-size:1.3rem;display:grid;place-items:center;flex:none}.case-next-action.is-empty>span{background:#6f8668}.case-next-action>div:not(.case-next-actions){min-width:0;display:grid;gap:4px}.case-next-action small{color:#998d78;font-size:.54rem;letter-spacing:.13em}.case-next-action strong{color:#4d5749;font-size:.8rem}.case-next-action em{color:#858e81;font-size:.62rem;font-style:normal}.case-next-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.case-next-actions form{margin:0}.case-next-actions a{text-decoration:none}.case-history-grid{margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.case-history-grid .case-movements-card{margin-top:0}.case-internal-card{overflow:hidden}.case-activity-form{padding:16px 19px;border-top:1px solid #edf0eb;border-bottom:1px solid #edf0eb;background:#f8faf6;display:grid;grid-template-columns:150px 1fr;gap:11px}.case-activity-form label{display:grid;gap:5px;color:#6e7c69;font-size:.62rem}.case-activity-form .full,.case-activity-form button{grid-column:1/-1}.case-activity-form input,.case-activity-form select,.case-activity-form textarea{width:100%;padding:10px;border:1px solid #dce3d8;border-radius:8px;background:#fff;color:#4e5c4a}.case-activity-form textarea{min-height:70px;resize:vertical}.case-activity-form button{width:max-content}.internal-timeline article{padding:15px 19px;border-top:1px solid #edf0eb;display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px}.internal-timeline article:first-child{border-top:0}.internal-timeline article>span{width:35px;height:35px;border-radius:10px;background:#edf2e9;color:#657b5f;display:grid;place-items:center}.internal-timeline article.action_completed>span{background:#e4f1e7;color:#4f7757}.internal-timeline article.workflow>span{background:#f6eee0;color:#917043}.internal-timeline article>div{min-width:0;display:grid;gap:4px}.internal-timeline small{color:#919b8e;font-size:.55rem}.internal-timeline strong{color:#4c5948;font-size:.7rem}.internal-timeline p{margin:1px 0;color:#758171;font-size:.64rem;line-height:1.5}.internal-timeline em{color:#9a8c7c;font-size:.55rem;font-style:normal}.agenda-event.case_action{background:#e8eef5;color:#5f7084}.agenda-source.case_action{background:#e8eef5;color:#5f7084}.agenda-legend i.case_action{background:#b9c8d8}
@media(max-width:1000px){.case-history-grid{grid-template-columns:1fr}}
@media(max-width:720px){.case-detail-hero{align-items:flex-start;flex-direction:column}.case-hero-badges{margin-left:0}.case-next-action{align-items:flex-start;flex-wrap:wrap}.case-next-actions{width:100%;margin-left:59px;align-items:stretch;flex-direction:column}.case-next-actions a,.case-next-actions button{width:100%;justify-content:center}.case-activity-form{grid-template-columns:1fr}.case-workflow-row{align-items:flex-start;flex-direction:column}.case-workflow-row>span:last-child{white-space:normal}}

/* Integridad entre clientes, expedientes y honorarios */
.fee-integrity-alert{margin:0 0 14px;padding:15px 17px;border:1px solid #ead6b9;border-left:4px solid #b18445;border-radius:12px;background:linear-gradient(135deg,#fffaf1,#f8f0e2);display:flex;align-items:center;gap:13px}.fee-integrity-alert>.ph{width:40px;height:40px;border-radius:11px;background:#aa7c3e;color:#fff;font-size:1.18rem;display:grid;place-items:center;flex:none}.fee-integrity-alert>div{min-width:0;flex:1}.fee-integrity-alert strong{color:#675139;font-size:.72rem}.fee-integrity-alert p{margin:4px 0 0;color:#8a765e;font-size:.62rem;line-height:1.45}.fee-integrity-alert>a{flex:none;text-decoration:none}.fee-row-incomplete{background:#fffdf8}.relation-warning{margin-top:6px;color:#9c7138;font-size:.56rem;font-weight:600;display:flex;align-items:center;gap:4px}.relation-fix-link{color:#91682f!important;font-weight:700}.data-table td.actions form{display:inline;margin:0}.data-table td.actions form button{padding:0;border:0;background:transparent;font:inherit}.relation-picker legend{font-weight:600}
@media(max-width:720px){.fee-integrity-alert{align-items:flex-start;flex-wrap:wrap}.fee-integrity-alert>a{width:100%;justify-content:center;margin-left:53px}}

/* Horizontes semanales del centro de avisos */
.notification-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.notification-summary .week>span{background:#e8f1e6;color:#5c7957}.notification-summary .next-week>span{background:#e8eef5;color:#5f7188}.notification-row.week{border-left-color:#7f9a78;background:#fbfdf9}.notification-row.next_week{border-left-color:#7a8fa7;background:#fafcff}.notification-row.week .notification-row-icon{background:#e8f1e6;color:#5c7957}.notification-row.next_week .notification-row-icon{background:#e8eef5;color:#5f7188}.priority-item.week>span{background:#e8f1e6;color:#5c7957}.priority-item.next_week>span{background:#e8eef5;color:#5f7188}
@media(max-width:1180px){.notification-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.notification-summary{grid-template-columns:1fr}}

/* Generador de fichas PDF */
.client-hero-actions{display:flex;align-items:center;gap:8px}.pdf-action-menu{position:relative;z-index:12}.pdf-action-menu summary{min-height:36px;padding:9px 12px;border:1px solid #698063;border-radius:9px;background:#698063;color:#fff;cursor:pointer;list-style:none;font-size:.64rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px}.pdf-action-menu summary::-webkit-details-marker{display:none}.pdf-action-menu summary>.ph:last-child{font-size:.72rem;transition:transform .18s ease}.pdf-action-menu[open] summary>.ph:last-child{transform:rotate(180deg)}.pdf-action-menu>div{position:absolute;z-index:40;top:calc(100% + 7px);right:0;width:285px;padding:7px;border:1px solid #dbe2d8;border-radius:12px;background:#fff;box-shadow:0 17px 38px rgba(48,62,45,.18)}.pdf-action-menu>div a{padding:11px;border-radius:9px;color:inherit;text-decoration:none;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px}.pdf-action-menu>div a:hover{background:#f1f5ee}.pdf-action-menu>div a>.ph{width:33px;height:33px;border-radius:9px;background:#eaf1e7;color:#60765a;font-size:1rem;display:grid;place-items:center}.pdf-action-menu>div span{min-width:0;display:grid;gap:3px}.pdf-action-menu>div strong{color:#4d5b49;font-size:.66rem}.pdf-action-menu>div small{color:#879284;font-size:.56rem;line-height:1.35}.case-actions-card>.pdf-action-menu{margin:2px 0 5px}.case-actions-card>.pdf-action-menu summary{width:100%}.case-actions-card>.pdf-action-menu>div{right:auto;left:0;width:min(310px,calc(100vw - 54px))}
@media(max-width:720px){.client-hero-actions{margin-left:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.client-hero-actions>a,.client-hero-actions>.pdf-action-menu{width:100%}.client-hero-actions .pdf-action-menu summary{width:100%}.client-hero-actions .pdf-action-menu>div{left:0;right:auto;width:min(310px,calc(100vw - 44px))}}

/* Selectores buscables de relaciones */
.relation-picker-grid .enhanced-select-search{grid-column:1/-1;position:relative}.enhanced-select-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.enhanced-select-search input{padding-right:40px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 256 256'%3E%3Ccircle cx='116' cy='116' r='84' fill='none' stroke='%23748770' stroke-linecap='round' stroke-linejoin='round' stroke-width='16'/%3E%3Cline x1='175.4' y1='175.4' x2='224' y2='224' fill='none' stroke='%23748770' stroke-linecap='round' stroke-linejoin='round' stroke-width='16'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:17px}.enhanced-select-search input[aria-expanded="true"]{border-color:#83977d;box-shadow:0 0 0 3px rgba(111,133,104,.12)}.searchable-select-results{position:absolute;z-index:35;top:calc(100% + 6px);left:0;right:0;max-height:280px;padding:6px;border:1px solid #d8e0d4;border-radius:11px;background:#fff;box-shadow:0 16px 36px rgba(48,62,45,.16);overflow-y:auto}.searchable-select-results[hidden]{display:none}.searchable-select-option{width:100%;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:#53614f;text-align:left;display:grid;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:7px;font-size:.68rem}.searchable-select-option:hover,.searchable-select-option:focus{outline:0;background:#f0f4ed;color:#43533f}.searchable-select-option>i:first-child{color:#71836c;font-size:1rem}.searchable-select-option>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-option>i:last-child{visibility:hidden;color:#5d7958}.searchable-select-option.is-selected{background:#eaf1e7;color:#435a3f;font-weight:600}.searchable-select-option.is-selected>i:last-child{visibility:visible}.searchable-select-empty{margin:0;padding:15px 12px;color:#8a9587;font-size:.64rem;text-align:center}.relation-picker:focus-within{position:relative;z-index:20}
