*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f172a;--surface:#1e293b;--surface2:#334155;--accent:#6366f1;--accent-hover:#4f46e5;--text:#f1f5f9;--text-muted:#94a3b8;--danger:#ef4444;--success:#22c55e;--radius:10px}body{background:var(--bg);color:var(--text);flex-direction:column;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;display:flex}#login-screen{justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:360px;padding:2rem}.login-card h1{margin-bottom:.25rem;font-size:1.5rem}.login-card p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}#login-error{color:var(--danger);margin-bottom:.75rem;font-size:.85rem;display:none}#app{flex-direction:column;flex:1;min-height:0;display:none}header{background:var(--surface);border-bottom:1px solid var(--surface2);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}header h1{letter-spacing:-.01em;font-size:1.2rem}.header-actions{align-items:center;gap:.5rem;display:flex}main{flex:1;min-height:0;padding:1.25rem;overflow:hidden}.split-view{gap:1.25rem;height:100%;display:flex}.panel{flex-direction:column;min-height:0;display:flex;overflow-y:auto}#targets-panel{flex-shrink:0;width:380px}#tasks-panel{flex:1;min-width:0}@media (width<=768px){body{height:auto}main{overflow:visible}.split-view{flex-direction:column;height:auto}.panel{overflow-y:visible}#targets-panel{width:100%}#tasks-panel{display:none!important}}label{color:var(--text-muted);margin-bottom:.35rem;font-size:.85rem;display:block}input[type=text],input[type=date],input[type=password],textarea{background:var(--surface2);width:100%;color:var(--text);border:1px solid #0000;border-radius:8px;outline:none;padding:.6rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:80px}.form-row{margin-bottom:1rem}.form-row:last-child{margin-bottom:0}button{cursor:pointer;border:none;border-radius:8px;padding:.55rem 1rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .15s,opacity .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{color:var(--text-muted);border:1px solid var(--surface2);background:0 0}.btn-ghost:hover{background:var(--surface2);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.85}.btn-icon{color:var(--text-muted);background:0 0;border-radius:6px;padding:.4rem .5rem;font-size:1rem}.btn-icon:hover{background:var(--surface2);color:var(--text)}.btn-full{width:100%;margin-top:1rem;padding:.7rem}.btn-sm{padding:.4rem .75rem;font-size:.82rem}.section-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h2{font-size:1.1rem}.target-card{background:var(--surface);border-radius:var(--radius);cursor:pointer;border:2px solid #0000;flex-shrink:0;margin-bottom:.75rem;padding:1rem;transition:background .15s}.target-card:hover{background:var(--surface2)}.target-card.selected{border-color:var(--accent)}.target-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.target-info{flex:1;min-width:0}.target-title{font-size:1rem;font-weight:600}.target-meta{color:var(--text-muted);margin-top:.2rem;font-size:.8rem}.target-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.4rem;display:flex}.target-actions{gap:.15rem;display:flex}.status-select{appearance:none;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border:none;border-radius:20px;outline:none;padding:.2rem .65rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:opacity .15s}.status-select:hover{opacity:.85}.status-select[data-status=initial]{background:var(--surface2);color:var(--text-muted)}.status-select[data-status=tasks_assigned]{color:#a5b4fc;background:#6366f133}.status-select[data-status=completed]{color:#86efac;background:#22c55e26}.progress-section{margin-top:.75rem}.progress-bar{background:var(--surface2);border-radius:2px;height:4px;overflow:hidden}.progress-bar-fill{background:var(--success);border-radius:2px;height:100%;transition:width .3s}.no-target-msg{color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-size:.9rem;display:flex}#tasks-content{flex-direction:column;flex:1;min-height:0;display:flex}.task-item{background:var(--surface);border-radius:8px;flex-shrink:0;margin-bottom:.5rem;overflow:hidden}.task-bar{align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.task-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.task-label{flex:1;font-size:.95rem}.task-label.done{color:var(--text-muted);text-decoration:line-through}.task-actions{align-items:center;gap:.2rem;display:flex}.notes-btn{color:var(--text-muted)}.notes-btn.has-notes{color:var(--accent)}.notes-btn.active{color:var(--accent);background:#6366f11f}.task-notes-panel{border-top:1px solid var(--surface2);padding:0 .85rem .75rem}.notes-textarea{background:var(--bg);border:1px solid var(--surface2);width:100%;color:var(--text);resize:vertical;border-radius:6px;outline:none;min-height:70px;margin-top:.65rem;padding:.5rem .65rem;font-family:inherit;font-size:.88rem;transition:border-color .15s}.notes-textarea:focus{border-color:var(--accent)}.tasks-inline{background:var(--surface);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;margin-bottom:.75rem;margin-left:.5rem;padding:.85rem 1rem}.tasks-inline-list{margin-bottom:0}.add-task-form{flex-shrink:0;gap:.5rem;margin-top:1rem;display:flex}.add-task-form input{flex:1}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;padding:1.25rem;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:420px;padding:1.5rem}.modal h3{margin-bottom:1.25rem;font-size:1.1rem}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.empty{text-align:center;color:var(--text-muted);padding:2.5rem 1rem;font-size:.9rem}#toast{background:var(--surface2);color:var(--text);z-index:200;white-space:nowrap;border-radius:8px;padding:.65rem 1.25rem;font-size:.9rem;transition:transform .2s;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)translateY(80px)}#toast.show{transform:translate(-50%)translateY(0)}
