:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17202c;background:#f3f5f8;font-size:16px;line-height:1.5;--orange:#f47721;--nav:#111822;--border:#dce2e9}*{box-sizing:border-box}body{margin:0}a{color:#ae4b09;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);border:1px solid var(--orange);border-radius:8px;padding:.65rem 1.05rem;font-weight:650;color:#17202c;cursor:pointer;text-decoration:none;min-height:44px}button:hover,.button:hover{background:#e96b13;text-decoration:none}.secondary{background:white;border-color:#cbd3dd;color:#253346}.secondary:hover{background:#f1f4f8}input,select,textarea{display:block;width:100%;background:white;border:1px solid #b8c3cf;border-radius:7px;padding:.6rem .75rem;color:#17202c;min-height:44px}textarea{resize:vertical}label{display:block;font-size:.875rem;font-weight:600}label input,label select,label textarea{margin-top:.35rem;font-weight:400;font-size:1rem}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #1686cf;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--nav);color:#bbc6d5;padding:2rem 1.25rem;display:flex;flex-direction:column}.brand{font-size:1.65rem;font-weight:850;letter-spacing:.035em;color:white}.brand span{color:var(--orange);font-size:.85rem;letter-spacing:.08em}.sidebar-caption{font-size:.75rem;letter-spacing:.13em;margin-top:.5rem;color:#9cacbd}.sidebar nav{margin-top:2.75rem;display:grid;gap:.6rem}.sidebar nav a{padding:.8rem 1rem;border-radius:7px;color:#c7d0da;font-weight:600}.sidebar nav .active{background:#283342;color:white;border-left:3px solid var(--orange)}.sidebar-bottom{margin-top:auto;font-size:.875rem}.logout{background:none;border:none;color:#bbc6d5;padding:1rem 0;text-align:left;font-weight:400}.logout:hover{background:none;color:white}.workspace{margin-left:232px;padding:2.5rem 3rem;max-width:1550px}header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.8rem}h1{font-size:2.1rem;line-height:1.15;letter-spacing:-.035em;margin:.4rem 0 .65rem}h2{font-size:1.12rem;line-height:1.4;margin:0 0 1.25rem}h3{font-size:1.06rem;margin:.3rem 0 .4rem}p{margin:.5rem 0}.muted{color:#5c6b7b;font-size:.875rem}.eyebrow{font-size:.75rem;letter-spacing:.08em;color:#657689;font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.6rem}.stats>div{background:white;border:1px solid var(--border);padding:1.1rem 1.35rem;border-radius:10px;display:flex;gap:1rem;align-items:center}.stats strong{font-size:2rem;line-height:1;color:#202e40}.stats span{color:#5c6b7b;font-size:.875rem}.panel{background:white;border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.3rem}.section-head{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-head h2{margin:0}.date-filter{display:flex;gap:.65rem;align-items:center}.date-filter input{width:auto}.task{display:flex;gap:1.4rem;border-top:1px solid #e6ebf0;padding:1.2rem 0}.task-time{min-width:85px;display:flex;flex-direction:column;gap:.15rem}.task-time strong{font-size:1.3rem}.task-time span{color:#657689;font-size:.875rem}.task-body{flex:1;min-width:0}.late{color:#aa391a}details{margin-top:.75rem}summary{font-size:.875rem;cursor:pointer;color:#ad4b0b;font-weight:600;padding:.25rem 0}.report-form{background:#f6f8fa;padding:1rem;border-radius:8px;margin-top:.65rem}fieldset{border:1px solid #dce2e9;border-radius:8px;padding:1rem;margin:1rem 0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}legend{color:#536276;font-size:.875rem}.actions,.form-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.empty{padding:1.6rem .25rem;color:#657689}.upcoming{display:flex;gap:1.5rem;padding:.9rem 0;border-top:1px solid #e6ebf0}.upcoming>span{font-size:.875rem;color:#536276;min-width:155px}.upcoming p{font-size:.875rem;color:#536276}.filters{display:flex;gap:1rem;align-items:end}.filters label:first-of-type{flex:1}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;margin:1rem 0}th{text-align:left;background:#f6f8fa;color:#566678;font-size:.875rem;font-weight:600;padding:.85rem}td{padding:1rem .85rem;border-bottom:1px solid #e6ebf0;font-size:.875rem}.client-link{font-weight:700;font-size:1rem;color:#26384c}.badge{display:inline-block;padding:.3rem .6rem;background:#edf1f5;border-radius:6px;color:#475a6e;font-size:.875rem}.pagination{display:flex;justify-content:center;gap:1.5rem;font-size:.875rem;padding-top:.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.full,.form-actions{grid-column:1/-1}.client-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.5rem}.contact-panel{align-self:start}.contact-panel h2{margin-top:1.5rem}dt{font-size:.875rem;color:#657689;margin-top:1rem}dd{margin:.2rem 0;overflow-wrap:anywhere}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.back{font-size:.875rem}.count{font-weight:400;color:#657689;margin-left:.5rem}.history{padding:1rem 0;border-top:1px solid #e6ebf0}.history .prewrap{margin-top:.75rem}.alert,.notice{padding:.9rem 1rem;border-radius:8px;margin-bottom:1.2rem}.alert{background:#fff0ed;border:1px solid #df9a89;color:#91311c}.notice{background:#edf8f2;border:1px solid #9ac8af;color:#1c6242}.login{min-height:100vh;display:grid;place-items:center;background:#111822;padding:1.5rem}.login-card{background:white;width:min(100%,460px);padding:2.5rem;border-radius:16px;border-top:5px solid var(--orange)}.login-card .brand{color:#111822}.login-card h1{font-size:1.8rem;margin-top:2rem}.login-card p{color:#657689}.login-card form{display:grid;gap:1.2rem;margin-top:1.8rem}.login-card button{width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1100px){.workspace{padding:2rem 1.5rem}.client-grid{grid-template-columns:250px minmax(0,1fr)}.stats>div{flex-direction:column;align-items:start}}@media(max-width:800px){.sidebar{position:static;width:100%;padding:1rem 1.25rem;flex-direction:row;align-items:center;flex-wrap:wrap;gap:1rem}.sidebar-caption,.sidebar-bottom>span{display:none}.sidebar nav{display:flex;margin:0;gap:.5rem}.sidebar nav a{padding:.5rem .8rem}.sidebar-bottom{margin-left:auto;margin-top:0}.logout{padding:.5rem 0}.workspace{margin-left:0;padding:1.5rem 1rem}.client-grid{grid-template-columns:1fr}.section-head,header{align-items:start;flex-direction:column}.date-filter{flex-wrap:wrap}.filters{flex-wrap:wrap}.filters label:first-of-type{flex-basis:100%}.form-grid,fieldset{grid-template-columns:1fr}.stats{gap:.5rem}.stats>div{padding:.9rem .7rem}.stats span{font-size:.875rem}.panel{padding:1.1rem}.upcoming{flex-direction:column;gap:.2rem}.task{gap:.75rem}.task-time{min-width:76px}h1{font-size:1.85rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Identidad FRAME: conservar el logo original sobre blanco. */
.brand-logo{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;background:#fff;border-radius:8px;padding:.75rem;width:100%;min-width:0}
.brand-logo:hover{text-decoration:none}
.brand-logo img{display:block;width:100%;height:auto;max-width:300px;object-fit:contain}
.brand-logo span{color:#9d4308;font-size:.75rem;letter-spacing:.16em;line-height:1}
.login-card .brand-logo{padding:0;align-items:flex-start;width:100%}
.login-card .brand-logo img{max-width:300px}
@media(max-width:800px){.sidebar .brand-logo{width:145px;flex-shrink:0;padding:.5rem;gap:.3rem}.sidebar .brand-logo span{font-size:.75rem}}
