:root{--bg:#f5f4f1;--panel:#fff;--text:#171717;--muted:#77746f;--line:#e7e4de;--dark:#111;--danger:#b44e4e;--success:#4f7562;--shadow:0 14px 40px rgba(0,0,0,.06);--radius:18px}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#111;color:white;padding:26px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand-wrap{display:flex;gap:12px;align-items:center;padding:0 8px 26px}.brand-mark{width:40px;height:40px;border:1px solid #4e4e4e;border-radius:12px;display:grid;place-items:center;font-weight:700}.brand{font-size:14px;letter-spacing:.12em;font-weight:700}.brand-sub{font-size:11px;color:#888;margin-top:3px}.nav{display:grid;gap:7px}.nav-item{appearance:none;border:0;background:transparent;color:#aaa;padding:11px 12px;border-radius:10px;text-align:left;font-size:14px;display:flex;gap:10px;align-items:center;cursor:pointer}.nav-item:hover,.nav-item.active{background:#1f1f1f;color:#fff}.side-section{margin-top:28px;overflow:auto}.side-title-row{display:flex;justify-content:space-between;align-items:center;padding:0 8px 8px}.side-title{font-size:10px;letter-spacing:.15em;color:#727272}.icon-btn{border:0;background:transparent;color:inherit;font-size:18px;cursor:pointer}.project-list{display:grid;gap:3px}.project-btn{width:100%;border:0;background:transparent;color:#aaa;padding:9px 10px;border-radius:9px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:9px}.project-btn:hover{background:#1c1c1c;color:white}.project-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.sidebar-bottom{margin-top:auto;display:grid;gap:8px;padding-top:20px}.main{min-width:0}.topbar{padding:28px 34px 20px;display:flex;justify-content:space-between;gap:18px;align-items:center}.topbar h1{font-size:28px;margin:0 0 4px}.topbar p{margin:0;color:var(--muted);font-size:14px}.topbar-actions{display:flex;gap:10px;align-items:center}.search{width:220px;border:1px solid var(--line);background:white;border-radius:12px;padding:11px 13px;font-size:14px;outline:none}.primary-btn,.secondary-btn,.danger-btn{border-radius:11px;padding:11px 14px;font-weight:650;font-size:13px;cursor:pointer}.primary-btn{background:#111;color:#fff;border:1px solid #111}.secondary-btn{background:white;color:#222;border:1px solid var(--line)}.danger-btn{background:#fff5f5;color:var(--danger);border:1px solid #efd2d2}.full{width:100%;text-align:center}.import-label{display:block}.import-label input{display:none}.view{display:none;padding:0 34px 34px}.view.active{display:block}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.stat-value{font-size:34px;font-weight:750;margin:9px 0 4px}.stat-value.danger{color:var(--danger)}.stat-value.success{color:var(--success)}.stat-note{font-size:12px;color:#aaa}.content-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.panel-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.panel-header h2{margin:0;font-size:18px}.panel-header p{margin:4px 0 0;color:var(--muted);font-size:12px}.text-btn{border:0;background:transparent;color:#555;cursor:pointer;font-weight:600}.task-list{display:grid;gap:9px}.task-card{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;cursor:pointer;transition:.15s}.task-card:hover{transform:translateY(-1px);border-color:#d4d0c8}.task-check{width:22px;height:22px;border-radius:7px;border:1px solid #ccc;background:white;margin-top:2px;cursor:pointer}.task-check.done{background:#111;border-color:#111;position:relative}.task-check.done:after{content:'✓';color:#fff;position:absolute;inset:0;display:grid;place-items:center;font-size:13px}.task-title{font-weight:700;font-size:14px}.task-title.done{text-decoration:line-through;color:#999}.task-desc{font-size:12px;color:var(--muted);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.pill{font-size:10px;padding:4px 7px;border-radius:999px;background:#f3f1ed;color:#666}.pill.priority-Urgente{background:#fce7e7;color:#9b3232}.pill.priority-Alta{background:#fff0dd;color:#9a651f}.pill.priority-Media{background:#f1efe8;color:#6d6659}.pill.priority-Baja{background:#edf4ef;color:#4f7562}.task-due{text-align:right;font-size:11px;color:var(--muted);white-space:nowrap}.task-due.overdue{color:var(--danger);font-weight:700}.task-score{font-size:10px;color:#aaa;margin-top:5px}.empty{padding:30px;text-align:center;color:#9a9791;font-size:13px}.project-summary{display:grid;gap:12px}.project-summary-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.project-summary-name{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}.progress{height:6px;background:#eee;border-radius:999px;overflow:hidden;margin-top:5px}.progress span{display:block;height:100%;background:#111;border-radius:999px}.filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:14px}.filters select,.modal select,.modal input,.modal textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:white;font:inherit;outline:none}.modal textarea{resize:vertical}.week-groups{display:grid;gap:14px}.day-group{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.day-group h3{margin:0 0 12px;font-size:14px}.day-group h3 span{font-weight:400;color:var(--muted);margin-left:6px}.project-header-panel{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.eyebrow{font-size:10px;letter-spacing:.15em;color:#9b9891;margin-bottom:5px}.project-header-panel h2{margin:0 0 5px}.project-header-panel p{margin:0;color:var(--muted);font-size:13px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.38);display:none;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-backdrop.open{display:flex}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:white;border-radius:22px;padding:22px;box-shadow:0 30px 100px rgba(0,0,0,.2)}.small-modal{width:min(500px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-header h2{margin:0}.modal form{display:grid;gap:14px}.modal label{display:grid;gap:6px;font-size:12px;font-weight:650;color:#555}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.modal-actions{display:flex;gap:10px;align-items:center;padding-top:6px}.spacer{flex:1}.hidden{display:none!important}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%) translateY(20px);background:#111;color:white;padding:10px 14px;border-radius:999px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:99}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.mobile-menu{display:none;border:0;background:transparent;font-size:24px}.fab{display:none;position:fixed;right:20px;bottom:20px;width:54px;height:54px;border-radius:50%;border:0;background:#111;color:#fff;font-size:26px;box-shadow:0 12px 30px rgba(0,0,0,.2);z-index:20}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.compact-panel{order:-1}.filters{grid-template-columns:repeat(2,1fr)}.topbar-actions .search{width:170px}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:260px;z-index:60;transition:.2s}.sidebar.open{left:0;box-shadow:20px 0 60px rgba(0,0,0,.25)}.topbar{padding:20px 18px 14px;align-items:flex-start}.topbar-left{display:flex;gap:9px}.mobile-menu{display:block}.topbar h1{font-size:22px}.topbar-actions{display:none}.view{padding:0 16px 90px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:9px}.stat-card{padding:14px}.stat-value{font-size:28px}.panel{padding:14px}.filters{grid-template-columns:1fr 1fr}.task-card{grid-template-columns:auto 1fr}.task-due{grid-column:2;text-align:left}.fab{display:block}.form-grid{grid-template-columns:1fr}.modal{padding:18px;border-radius:18px}.project-header-panel{align-items:flex-start;gap:12px}.search{display:none}}
@media(max-width:430px){.stats-grid{grid-template-columns:1fr 1fr}.stat-note{display:none}.filters{grid-template-columns:1fr}.task-card{padding:12px}.modal-actions{flex-wrap:wrap}.modal-actions .spacer{display:none}.modal-actions button{flex:1}.danger-btn{flex-basis:100%!important}}

/* QUN Tasks Online */
.app-locked{visibility:hidden}
.auth-gate{position:fixed;inset:0;z-index:200;background:#f5f4f1;display:grid;place-items:center;padding:22px}
.auth-gate.hidden{display:none}
.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.10)}
.auth-brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.auth-mark{background:#111;color:#fff}.auth-brand-name{color:#111}.auth-sub{font-size:11px;color:var(--muted);margin-top:3px}
.auth-card h1{font-size:28px;margin:0 0 7px}.auth-card>p{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 22px}
.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:6px;font-size:12px;font-weight:650;color:#555}.auth-card input{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;background:white;font:inherit;outline:none}.auth-card input:focus{border-color:#a5a19a;box-shadow:0 0 0 3px rgba(0,0,0,.04)}
.auth-error{min-height:18px;margin-top:12px;font-size:12px;color:var(--danger)}.auth-help{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;color:#999;line-height:1.5}
.sync-status{display:flex;align-items:center;gap:7px;font-size:11px;color:#777;white-space:nowrap}.sync-dot{width:7px;height:7px;border-radius:50%;background:#c8c5bf}.sync-status.online .sync-dot{background:#4f7562}.sync-status.saving .sync-dot{background:#b88943}.sync-status.error .sync-dot{background:#b44e4e}.sync-status.offline .sync-dot{background:#999}
@media(max-width:760px){.sync-status{position:fixed;left:18px;bottom:25px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:999px;padding:8px 10px;z-index:19;box-shadow:var(--shadow)}.auth-card{padding:22px;border-radius:20px}}
