:root{--navy:#111d30;--navy2:#1c2b43;--bg:#f5f7fa;--paper:#fff;--text:#1a2739;--muted:#748197;--line:#e7ebf1;--accent:#3875dd;--soft:#edf4ff;--radius:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:var(--muted)}.overline,.breadcrumb{font-size:10px;letter-spacing:1.5px;font-weight:750;color:#8593a8}.shell{min-height:100vh;display:grid;grid-template-columns:246px minmax(0,1fr)}.sidebar{background:var(--navy);color:#d0d8e7;display:flex;flex-direction:column;padding:30px 15px;min-height:100vh}.identity{display:flex;align-items:center;gap:13px;margin:0 14px 55px}.identity strong{display:block;font-size:20px;color:white;letter-spacing:-.6px}.identity small{font-size:10px;letter-spacing:2px;color:#8f9fb6}.mark{font-size:26px;font-weight:900;letter-spacing:-2px;background:#fff;color:var(--navy);width:45px;height:45px;border-radius:11px;display:grid;place-items:center}.mark span{color:var(--accent)}.nav-btn{display:flex;align-items:center;gap:14px;width:100%;border:0;border-radius:9px;background:transparent;color:#aebdd0;text-align:left;padding:13px 16px;margin:3px 0;font-weight:550}.nav-btn span{font-size:20px;width:22px;text-align:center}.nav-btn:hover,.nav-btn.active{background:#263852;color:white}.sidebar-end{margin-top:auto;padding:18px 15px;border-top:1px solid #2b3b52;color:#97a8be;font-size:12px}.online-dot{display:inline-block;width:7px;height:7px;background:#4acba3;border-radius:50%;margin-right:8px}.logout{float:right;background:none;border:0;color:#d9e4f0}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{background:var(--paper);border-bottom:1px solid var(--line);padding:34px clamp(22px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:25px}.topbar h1{font-size:29px;letter-spacing:-1.1px;margin:9px 0 6px;font-weight:750}.topbar p{margin:0;color:var(--muted)}.btn{padding:11px 17px;border:1px solid var(--line);border-radius:9px;font-weight:650;white-space:nowrap;background:white}.btn.primary{background:var(--accent);border-color:var(--accent);color:white;box-shadow:0 5px 12px #3875dd22}.btn.primary:hover{background:#285fc2}.btn.ghost{background:transparent}.btn.danger{color:#bc3c42;border-color:#efd5d6}.btn.small{padding:7px 11px;font-size:12px}.content{padding:33px clamp(22px,4vw,64px);flex:1;max-width:1530px;width:100%;margin:0 auto}.section-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 16px;gap:15px}.section-title h2{margin:0;font-size:19px;letter-spacing:-.4px}.section-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:0 4px 15px #15243d04}.stat .stat-label{color:var(--muted);font-size:12px}.stat strong{font-size:33px;display:block;margin:11px 0 5px;letter-spacing:-1px}.stat small{color:#97a2b1}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card + .card{margin-top:14px}.card-row{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.card-row:last-child{border:0}.card-row h3{font-size:15px;margin:0 0 7px}.card-row p{margin:0;font-size:12px;color:var(--muted);line-height:1.5}.card-row button.link{border:0;background:none;font-weight:700;text-align:left;color:var(--text);padding:0}.row-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.tag{font-size:11px;font-weight:700;border-radius:6px;padding:5px 8px;background:#f2f5f8;color:#67778d;display:inline-block}.tag.alta{background:#fff0eb;color:#c66b44}.tag.activo{background:#e7f8ef;color:#277b50}.tag.en_espera{background:#fff6e2;color:#986821}.tag.completado{background:#e8efff;color:#436cb4}.tag.cancelado{background:#f9e8e8;color:#b25353}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.empty{padding:48px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);font-size:17px;margin-bottom:7px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.toolbar input,.toolbar select{background:white;border:1px solid var(--line);border-radius:9px;padding:11px 13px;color:var(--text)}.toolbar input{min-width:210px;flex:1}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{padding:23px;position:relative}.project-card h3{font-size:17px;margin:12px 0 7px;letter-spacing:-.3px}.project-card .client{color:var(--muted);font-size:12px}.project-card p{color:#65738a;line-height:1.6;font-size:13px;min-height:38px}.project-card .bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.project-card .bottom button{border:0;background:none;color:var(--accent);font-weight:700}.project-card .pills{display:flex;gap:6px;flex-wrap:wrap}.detail-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.detail-head h2{margin:6px 0;font-size:23px;letter-spacing:-.7px}.detail-head p{color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.detail-block{padding:24px}.detail-block h3{margin:0 0 14px}.detail-block pre{white-space:pre-wrap;word-wrap:break-word;font-family:inherit;line-height:1.7;margin:0}.detail-meta{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 26px}.activity-item{padding:12px 0;border-bottom:1px solid var(--line);color:#687790;font-size:12px}.activity-item:last-child{border:0}.activity-item b{display:block;color:var(--text);margin-bottom:4px}.note-box{display:flex;gap:8px;margin:14px 0 4px}.note-box input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:11px}.task-line{display:flex;gap:12px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--line)}.task-line:last-child{border:0}.task-line .task-main{flex:1;min-width:0}.task-line .task-main b{display:block;margin-bottom:4px}.task-line small{color:var(--muted)}.task-line.done b{text-decoration:line-through;color:#96a0af}.task-line input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}.footer{padding:18px clamp(22px,4vw,64px);color:#9aa5b6;font-size:11px}.footer span{float:right}.dialog{border:1px solid var(--line);border-radius:16px;width:min(650px,calc(100% - 26px));max-height:88vh;padding:0;box-shadow:0 30px 100px #101b2d44}.dialog::backdrop{background:#0c182c99}.dialog-body{padding:27px;overflow:auto;max-height:87vh}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:21px}.dialog-head h2{font-size:24px;margin:7px 0}.icon-btn{background:transparent;border:0;font-size:30px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.login-card label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#66748a}.form-grid label.wide{grid-column:span 2}.form-grid input,.form-grid select,.form-grid textarea,.login-card input{width:100%;border:1px solid #dce3ed;border-radius:8px;padding:11px;color:var(--text);background:white;outline-color:var(--accent)}.form-grid textarea{resize:vertical}.form-grid .checkbox-label{flex-direction:row;align-items:flex-start;line-height:1.5}.form-grid input[type=checkbox]{width:auto;margin:1px 4px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.error{color:#ba4349;font-size:12px;min-height:12px}.login-shell{min-height:100vh;display:grid;place-items:center;background:#101b2d;padding:24px}.login-card{width:min(430px,100%);background:white;border-radius:18px;padding:42px;box-shadow:0 20px 80px #0002}.login-card .mark{background:var(--navy);color:white;margin-bottom:30px}.login-card h1{font-size:29px;letter-spacing:-1px;margin:10px 0}.login-card h1 em{font-weight:450;font-style:normal;color:#5b6e89}.login-card p.muted{line-height:1.6;margin-bottom:28px}.login-card label{margin:15px 0}.stretch{width:100%}.toast{position:fixed;right:25px;bottom:25px;background:#1c2b43;color:white;padding:14px 20px;border-radius:9px;z-index:20;box-shadow:0 8px 30px #0003}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}@media(max-width:740px){.shell{display:block}.sidebar{min-height:auto;padding:12px}.identity{margin:0 8px 8px}.sidebar nav{display:flex;gap:5px;overflow:auto}.sidebar .nav-btn{font-size:12px;white-space:nowrap;padding:11px}.sidebar-end{display:none}.topbar{padding:22px;align-items:flex-start}.topbar h1{font-size:23px}.topbar .btn{padding:9px;font-size:12px}.content{padding:20px}.project-grid{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:25px}.row-right{gap:5px}.card-row{padding:16px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:span 1}.dialog-body{padding:20px}.detail-head{display:block}.footer{padding:15px 20px}}

/* v2: interfaz de referencia Effort Workspace */
:root{--bg:#f6f7fb;--text:#252c3a;--muted:#6f788a;--line:#e5e8ee;--accent:#346fdf;--radius:7px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-size:13px;background:var(--bg)}.shell{grid-template-columns:230px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid var(--line);color:#344052;padding:24px 18px;position:sticky;top:0;height:100vh;min-height:0}.identity{display:block;margin:0 8px 47px}.effort-logo{width:165px;height:auto;display:block;object-fit:contain}.identity small{display:block;color:#536177;font-size:9px;font-weight:800;letter-spacing:2.1px;margin-top:3px}.side-heading{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#687386;line-height:1.5;margin:0 10px 15px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.nav-btn{margin:0;background:transparent;color:#414f64;border-radius:6px;font-size:12px;font-weight:650;padding:12px 10px;gap:12px;min-height:41px}.nav-btn span{font-size:16px;width:18px;color:#55647a}.nav-btn.active,.nav-btn:hover{background:#eaf2ff;color:#3169cf}.nav-count{font-size:10px;padding:2px 6px;background:#e4ecfb;color:#54709e;margin-left:auto;border-radius:4px}.side-area-title{margin-top:42px}.side-areas{display:flex;flex-direction:column;gap:0}.side-areas>span{display:flex;align-items:center;gap:10px;padding:13px 10px;color:#536074;font-size:12px;font-weight:650}.side-areas i{height:6px;width:6px;flex:none;background:var(--dot);border-radius:50%}.sidebar-end{display:flex;gap:8px;align-items:center;margin-top:auto;padding:17px 0 0;border-top:1px solid #eef0f4;color:#566174}.sidebar-end strong{font-size:11px;display:block;color:#343f53}.sidebar-end small{display:block;font-size:10px;margin-top:2px}.user-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e6eaf2;color:#6a7690;font-size:10px;font-weight:700;flex:none}.user-avatar.mini{display:inline-grid;vertical-align:middle;width:27px;height:27px}.logout{margin-left:auto;font-size:10px;color:#65738b}.topline{height:69px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(30px,3.3vw,55px);color:#798498;font-size:11px}.topline strong{color:#46536b}.private-chip{color:#4b765d}.workspace{background:#f7f8fb}.topbar{border:0;background:transparent;padding:42px clamp(30px,3.3vw,55px) 20px}.topbar .breadcrumb{letter-spacing:1.9px;color:#616f86;font-size:10px}.topbar h1{font-size:32px;margin:11px 0 9px;letter-spacing:-1.25px}.topbar p{font-size:13px;color:#5a6478}.btn{border-radius:5px}.btn.primary{background:#346fdf;box-shadow:none;padding:13px 17px}.content{padding:0 clamp(30px,3.3vw,55px) 25px;max-width:1750px}.cutline{font-size:11px;margin:10px 0 24px;color:#647188}.cutline span{float:right}.stats{gap:17px}.stat{border-radius:8px;text-align:left;box-shadow:none;padding:24px 21px;background:#fff;color:var(--text);cursor:pointer}.stat .stat-label{display:block;font-size:13px;font-weight:750;color:#394255}.stat strong{font-size:36px;margin:14px 0 13px;color:#3472de}.stat small{color:#777f8d;font-size:11px}.stat.orange strong{color:#dda14f}.stat.purple strong{color:#9c83c7}.stat.green strong{color:#67b098}.section-title h2{font-size:18px}.focus-title{margin-top:29px;margin-bottom:16px}.focus-title h2 span,.work-title h2 span{font-size:10px;color:#788399;letter-spacing:.6px;margin-left:12px;font-weight:700}.focus-title p{font-size:12px;color:#657186;margin-top:11px}.focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,430px));gap:17px}.focus-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:22px 22px 0;min-height:225px;display:flex;flex-direction:column}.focus-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.initials{display:grid;place-items:center;background:#edf0f5;color:#737f93;border-radius:5px;width:30px;height:29px;font-size:11px;font-weight:800}.focus-card>small{font-size:11px;color:#738095}.focus-card h3{margin:7px 0 6px;font-size:15px}.focus-card p{font-size:12px;color:#59667b;line-height:1.55;margin:0;flex:1}.focus-card>button{width:100%;border:0;border-top:1px solid #edf0f3;text-align:left;background:#fff;color:#657185;font-size:11px;padding:16px 0;margin-top:17px}.focus-card>button span{float:right}.tag{background:#f2f3f7;color:#687386;border:1px solid #d7dbe5;border-radius:4px;font-size:10px;padding:5px 8px}.tag.activo{background:#e7f0ff;color:#3d75b4;border-color:#b6cdee}.tag.en_espera{background:#f3e8fb;color:#8852aa;border-color:#dbc1ed}.tag.completado{background:#e6edf2;color:#586a81;border-color:#d2dbe4}.tag.cancelado{background:#fee5e6;color:#a84e59;border-color:#f6c3ca}.tag.pendiente{background:#fff2cd;color:#936d27;border-color:#eed58c}.workspace-toolbar{margin-top:29px;margin-bottom:24px}.toolbar input,.toolbar select{border-radius:6px;background:#fff}.toolbar input{padding:13px 15px}.toolbar select{font-size:12px}.work-title{margin-top:0}.export-action{border:0;background:none;color:#556b88;font-size:12px}.record-table{border:1px solid var(--line);border-radius:7px;background:#fff;overflow-x:auto}.record-table table{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.record-table th{padding:15px 16px;text-align:left;font-size:10px;letter-spacing:.5px;color:#697487;background:#fafbfc;border-bottom:1px solid var(--line)}.record-table td{padding:16px;border-bottom:1px solid #edf0f3;color:#505e72;vertical-align:middle}.record-table tr:last-child td{border-bottom:0}.record-table tbody tr:hover{background:#fafcff;cursor:pointer}.record-name{display:block;border:0;background:none;padding:0;color:#283344;font-size:12px;font-weight:800;text-align:left}.record-table small{font-size:11px;color:#788397;display:block;margin-top:6px;line-height:1.5}.record-table .action-cell{width:30%;line-height:1.5}.record-table .priority-dot.alta{color:#b9574b}.record-table .priority-dot.media{color:#a8b3c2}.record-table .priority-dot.baja{color:#70bba6}.record-table .arrow{text-align:right;font-size:23px;color:#74849a}.client-list>div{padding:17px 21px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.client-list>div:last-child{border:0}.client-list span{color:var(--muted)}.balance-disclaimer{margin:22px 0}.footer{padding:20px clamp(30px,3.3vw,55px);color:#8c95a5}.dialog{border-radius:8px}.login-shell{background:#f7f8fb}.login-card{box-shadow:0 12px 50px #202a3b12;border:1px solid var(--line)}.login-card .effort-logo{width:180px;margin-bottom:25px}
@media(max-width:1000px){.shell{grid-template-columns:200px minmax(0,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cutline span{display:none}}
@media(max-width:760px){.shell{display:block}.sidebar{height:auto;min-height:0;position:relative;padding:12px}.identity{margin:0 0 12px}.identity .effort-logo{width:120px}.side-heading,.side-areas,.sidebar-end{display:none}.sidebar nav{display:flex;flex-direction:row;overflow:auto}.nav-btn{white-space:nowrap;font-size:11px}.topline{height:45px;padding:0 20px}.topbar{padding:25px 20px}.topbar h1{font-size:26px}.content{padding:0 16px 25px}.focus-grid{grid-template-columns:1fr}.focus-card{min-height:180px}.stats{gap:8px}.stat{padding:15px}.stat strong{font-size:28px}.topbar .btn{font-size:11px}.footer{padding:15px 18px}.focus-title h2 span{display:block;margin:6px 0 0}}
