:root{--nav:#102737;--nav2:#183647;--teal:#168978;--teal-dark:#116c61;--ink:#1c2b37;--muted:#81919f;--line:#e5eaf0;--background:#f6f8fa;--white:#fff;--amber:#a76917;--amber-bg:#fff4da;--green:#26714c;--green-bg:#e4f5ea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--background);color:var(--ink)}a{color:var(--teal-dark);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-layout{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#d1e0e9;min-height:100vh;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:30px 14px 22px}.logo{display:flex;align-items:center;gap:11px;padding:0 14px 48px;font-weight:800;font-size:20px;color:white;letter-spacing:1px}.logo-mark{color:#48d1b6;font-size:34px;line-height:1}.logo small{display:block;letter-spacing:1.45px;font-size:9px;font-weight:600;color:#8da4b2;margin-top:-3px}.sidebar-group{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#8199a6;margin:0 14px 16px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-link{color:#c4d4de;display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:8px;font-size:13px;font-weight:550}.nav-link:hover{background:#1a3c4f;text-decoration:none;color:white}.nav-link.active{color:white;background:#225c62;border-left:3px solid #55dfc5}.nav-icon{width:22px;text-align:center;font-size:20px;color:#96b8bf}.nav-link.active .nav-icon{color:#62edcf}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:9px;padding:20px 7px 0;border-top:1px solid #2c4655}.profile-initial{width:37px;height:37px;min-width:37px;background:#2c6672;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff}.profile-detail{min-width:0}.profile-detail strong{display:block;font-size:12px;color:#f2f7fa}.profile-detail small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;color:#8ca8b8;max-width:122px}.exit-btn{border:0;background:transparent;color:#91adbb;font-size:22px}.logout-form{margin-left:auto}.main-area{min-width:0;display:flex;flex-direction:column}.topbar{height:65px;background:#fff;border-bottom:1px solid var(--line);padding:0 37px;display:flex;justify-content:space-between;align-items:center}.breadcrumb{color:#7b8b99;font-size:12px}.breadcrumb b{font-weight:600;color:#334453}.topbar-right{font-size:11px;color:#6d7e88;font-weight:550}.status-dot{display:inline-block;height:7px;width:7px;border-radius:100%;background:#2db89b;margin-right:5px}.content{width:min(1280px,100%);padding:35px 37px 30px;margin:0 auto;flex:1}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:10px;color:#188675;letter-spacing:1.9px;font-weight:800}.pagehead h1{font-size:29px;line-height:1.2;font-weight:760;letter-spacing:-.85px;margin:9px 0 5px}.pagehead p{color:#80909d;margin:0;font-size:13px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid transparent;border-radius:8px;padding:10px 17px;min-height:41px;font-size:12px;font-weight:700;white-space:nowrap}.btn:hover{text-decoration:none;filter:brightness(.98)}.btn.primary{background:var(--teal);color:white;box-shadow:0 3px 9px #1a8f7c19}.btn.secondary{color:#36515e;border-color:#dce4e9;background:white}.smallbtn{min-height:34px;padding:7px 12px}.block{width:100%}.info-banner{display:flex;align-items:flex-start;gap:14px;background:#e9f3f3;border:1px solid #cce8e6;padding:15px 18px;border-radius:10px;margin:0 0 22px;color:#246b6b}.info-banner>span{font-size:20px}.info-banner strong{font-size:12px}.info-banner p{font-size:11px;color:#4e7c7a;margin:2px 0 0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stats-two{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border:1px solid var(--line);background:white;border-radius:11px;padding:20px 20px 18px;box-shadow:0 5px 15px #253c4d07}.stat-label{display:flex;justify-content:space-between;color:#798996;font-size:11px;font-weight:650;gap:8px}.stat-label span{color:#65a2a2;font-size:18px;line-height:1}.stat-number{font-size:26px;font-weight:800;letter-spacing:-1.1px;line-height:1.3;margin-top:12px;font-variant-numeric:tabular-nums}.stat-help{color:#9aa8af;font-size:10px;margin-top:5px}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:19px}.panel{background:var(--white);border-radius:11px;border:1px solid var(--line);box-shadow:0 5px 15px #233c4b07;margin-bottom:22px;min-width:0;overflow:hidden}.panel-head{min-height:63px;display:flex;align-items:center;justify-content:space-between;padding:18px 23px;border-bottom:1px solid var(--line);gap:12px}.panel h2{margin:0;font-size:14px;font-weight:750}.panel h3{font-size:14px;margin:27px 0 10px}.subtle-link{font-size:11px;font-weight:700;color:#208c80}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;background:#fafbfc;color:#91a0ab;font-size:9px;letter-spacing:1px;font-weight:800;padding:12px 19px;white-space:nowrap}td{padding:15px 19px;border-top:1px solid #edf0f3;color:#51616d;vertical-align:middle}td strong{color:#2d414c;font-size:12px}td.number{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:#fbfdfd}.panel-counter{font-size:11px;color:#8c9aa5}.empty{min-height:195px;padding:30px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;color:#81919d}.empty-icon{font-size:33px;color:#86bcb4}.empty strong{color:#334653}.empty p{font-size:12px;max-width:260px;margin:0}.quick-links{padding:10px 16px}.quick-links a{display:flex;align-items:center;gap:16px;padding:13px 5px;color:#324956;border-bottom:1px solid #edf1f2}.quick-links a:last-child{border:0}.quick-links a>span{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#e5f5f1;color:#188a78;font-size:20px;flex-shrink:0}.quick-links strong{display:block;font-size:12px}.quick-links small{display:block;color:#8c9da7;font-size:10px}.quick-links b{margin-left:auto;font-size:17px;color:#90a5ae}.footer{text-align:right;font-size:10px;color:#99a7b1;margin:0 37px 23px}.form-panel{max-width:780px}.form-panel.wide{max-width:none}.form-panel form{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.span2{grid-column:span 2}label{display:flex;flex-direction:column;gap:8px;color:#435968;font-size:12px;font-weight:700}input:not([type="checkbox"]),select,textarea{width:100%;padding:11px 13px;color:#263c48;background:#fff;border:1px solid #dce5ea;border-radius:7px;outline:0;min-height:42px}input:focus,select:focus,textarea:focus{border-color:#1b9b84;box-shadow:0 0 0 3px #1b9b841e}textarea{resize:vertical;min-height:90px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.check-row{flex-direction:row;align-items:center;gap:9px;margin-top:22px}.check-row input{width:auto}.alert{padding:12px 16px;border-radius:8px;margin-bottom:18px;font-size:12px}.alert.error{background:#fff1ed;color:#9e3923;border:1px solid #fed6ca}.alert.success{background:#e8f7ec;color:#267345;border:1px solid #c8e6cf}.alert.warn{background:#fff7e3;color:#7b5e25;border:1px solid #f6e5ac}.pill{display:inline-flex;align-items:center;border:0;padding:5px 9px;font-size:10px;font-weight:750;border-radius:40px;white-space:nowrap}.pill.amber{color:var(--amber);background:var(--amber-bg)}.pill.green{color:var(--green);background:var(--green-bg)}.small{font-size:10px}.muted{color:#8395a0}.line-table th{padding:11px 10px}.line-table td{padding:10px 7px}.line-table th:first-child{min-width:260px}.line-table td:nth-child(2),.line-table td:nth-child(3){min-width:110px}.line-table td:nth-child(4){min-width:94px}.line-table input,.line-table select{min-height:39px;padding:8px}.btn-icon{background:#fff2f0;color:#c44a44;border:0;border-radius:6px;width:30px;height:34px;font-size:22px}.topgap{margin-top:21px}.preview-bar{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px}.invoice-paper{background:white;border:1px solid var(--line);padding:55px 56px;max-width:1000px;margin:auto;min-height:780px;position:relative;overflow:hidden;box-shadow:0 8px 28px #2237460c}.draft-watermark{position:absolute;left:8%;top:45%;font-size:30px;font-weight:800;letter-spacing:3px;color:#bd403811;transform:rotate(-29deg);pointer-events:none;white-space:nowrap}.invoice-top{display:flex;justify-content:space-between;gap:25px;border-bottom:2px solid #153e49;padding-bottom:42px}.invoice-brand{font-size:26px;font-weight:900;letter-spacing:1px;color:#174b4f}.invoice-party{font-size:12px;margin-top:25px;line-height:1.9}.invoice-meta{text-align:right;line-height:1.8}.invoice-meta h2{font-size:19px;margin:10px 0 3px}.invoice-to{padding:35px 0;line-height:1.85}.invoice-to strong{font-size:14px}.invoice-to .eyebrow{margin-bottom:8px}.preview-table th{background:#163c46;color:white;padding:12px}.preview-table td{padding:16px 12px}.invoice-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:30px}.invoice-notes{max-width:55%;font-size:12px;white-space:pre-wrap}.totals{width:330px;max-width:100%}.totals div{display:flex;align-items:center;justify-content:space-between;padding:8px 0;color:#6e8089;font-size:12px}.totals div b{color:#324651}.totals .total-line{margin-top:10px;padding:15px 0;border-top:2px solid #0f6b63;color:#134f4b;font-size:20px}.invoice-footer{margin-top:80px;font-size:10px;color:#af4f42;border-top:1px solid #e9ecef;padding-top:20px}.filterbar{display:flex;align-items:end;gap:10px;margin-bottom:20px}.filterbar label{width:175px}.summary-lines{padding:16px 23px}.summary-lines>div{display:flex;justify-content:space-between;align-items:center;padding:13px 0;color:#667b86;border-bottom:1px solid #e9eef0}.summary-lines>div:last-child{border:none}.summary-lines strong{color:#304754}.summary-lines .summary-total{font-size:14px}.summary-lines .summary-total strong{font-size:20px;color:#146c64}.auth-body{min-height:100vh;background:radial-gradient(circle at 12% 8%,#1c5159 0,transparent 45%),#112c3b;display:grid;place-items:center;padding:20px}.auth-card{background:white;border-radius:16px;padding:42px;width:min(420px,100%);box-shadow:0 25px 80px #04111d4f}.auth-card.setup{width:min(580px,100%)}.brand-dark{color:#0a4a4a;font-weight:900;font-size:24px;letter-spacing:1px}.brand-dark small{font-size:10px;letter-spacing:2px;color:#74a6a3}.auth-card h1{font-size:26px;margin:25px 0 3px}.auth-card p{font-size:13px;color:#8696a3;margin:0 0 28px}.auth-card form{display:grid;gap:16px}.auth-card form label{font-size:11px}.auth-card button{margin-top:8px}.auth-card>.small{margin-top:25px;text-align:center}.auth-card #mysql-fields{display:grid;gap:14px}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.sidebar{width:215px}.app-layout{grid-template-columns:215px minmax(0,1fr)}.content{padding:27px 26px}.topbar{padding:0 26px}}@media(max-width:730px){.app-layout{display:block}.sidebar{position:relative;min-height:auto;height:auto;width:100%;padding:12px}.logo{padding:6px 10px 14px;font-size:17px}.sidebar-group,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;overflow-x:auto;gap:4px;padding:3px 0 4px}.nav-link{white-space:nowrap;padding:8px 10px;font-size:11px}.nav-icon{font-size:15px;width:16px}.topbar{height:45px;padding:0 18px}.topbar-right{display:none}.content{padding:22px 16px}.pagehead{align-items:flex-start}.pagehead h1{font-size:25px}.stats{gap:10px}.stat{padding:14px}.stat-number{font-size:21px}.two-col{gap:8px}.form-grid{grid-template-columns:1fr}.span2{grid-column:span 1}.form-panel form{padding:18px}.invoice-paper{padding:22px 18px;min-height:560px}.invoice-top{gap:12px}.invoice-meta h2{font-size:13px}.invoice-brand{font-size:19px}.invoice-bottom{flex-direction:column}.invoice-notes{max-width:100%}.totals{width:100%}.filterbar{flex-wrap:wrap}.preview-bar{flex-direction:column}.footer{margin:0 15px 15px}}@media print{@page{size:A4;margin:13mm}body{background:white}.sidebar,.topbar,.footer,.pagehead,.preview-bar,.alert,.info-banner{display:none!important}.app-layout,.main-area,.content{display:block!important;padding:0!important;margin:0!important;width:100%!important;max-width:none!important}.invoice-paper{box-shadow:none;border:0;padding:0;min-height:0;max-width:none}.draft-watermark{color:#c2313135!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-footer{color:#b13535!important}.preview-table th{background:#163c46!important;color:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* v0.2 — expediente pericial, informes y logotipo privado */
.case-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(115deg,#103344,#1b5960);color:#fff;padding:26px 28px;border-radius:12px;margin-bottom:21px}
.case-hero .eyebrow{color:#73e2ce}.case-hero h2{font-size:27px;letter-spacing:-.6px;margin:5px 0}.case-hero p{margin:0 0 14px;color:#dceced}
.case-meta{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:11px;color:#b5d2d5}
.case-meta strong{color:white}.case-buttons{display:flex;gap:8px;flex-wrap:wrap}
.case-description{padding:20px 23px;color:#435968;font-size:12px;line-height:1.7}
.case-description p{margin:8px 0 22px;white-space:pre-wrap;overflow-wrap:anywhere}
.case-description p:last-child{margin-bottom:0}
.linked-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}
.linked-row:last-child{border:0}.linked-row span{color:#8296a2}
.invoice-logo{display:block;width:auto;max-width:220px;max-height:85px;object-fit:contain;object-position:left center}
.settings-logo{display:block;width:auto;max-width:260px;max-height:100px;object-fit:contain;object-position:left center}
.invoice-notes{overflow-wrap:anywhere}.invoice-notes strong{font-size:11px;color:#1b585a}.invoice-notes p{margin:6px 0 16px;white-space:pre-wrap}
.payment-help{display:flex;align-items:center;margin-top:16px}
.case-hero .btn.secondary{background:white}
@media(max-width:900px){.case-hero{flex-direction:column;align-items:stretch}}
@media(max-width:550px){.case-hero{padding:21px}.case-buttons{flex-direction:column}.case-buttons .btn{white-space:normal}}
@media print{.case-hero,.case-buttons{display:none!important}.invoice-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.case-attach-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px;margin-top:20px}.case-attach-form label{min-width:0}.case-attach-form select{font-size:11px}
@media(max-width:650px){.case-attach-form{grid-template-columns:1fr}}
