*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}ul{list-style:none;margin:0;padding:0}:root{--void-black: #0e100f;--surface: #161817;--surface-2: #1c1f1d;--border: #42433d;--cream: #fffce1;--ash: #7c7c6f;--pulse-green: #0ae448;--lime: #abff84;--gradient-green: linear-gradient(114deg, #0ae448 20%, #abff84 66%);--danger: #ff6b6b;--blue: #00bae2;--violet: #9d95ff;--orange: #ff8709;--radius: 10px;--radius-pill: 100px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--sidebar-w: 232px;--sidebar-w-collapsed: 72px}body{background:var(--void-black);color:var(--cream);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:var(--pulse-green);color:var(--void-black)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill)}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--space-5) var(--space-3);position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);margin-bottom:var(--space-6);font-weight:700;font-size:16px;letter-spacing:-.02em}.sidebar-brand .dot{width:10px;height:10px;border-radius:50%;background:var(--gradient-green);flex:none}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--ash);text-decoration:none;font-weight:500;transition:background .15s ease,color .15s ease}.nav-item svg{flex:none;width:18px;height:18px}.nav-item:hover{background:var(--surface);color:var(--cream)}.nav-item.active{background:var(--surface-2);color:var(--pulse-green)}.sidebar-footer{border-top:1px solid var(--border);padding-top:var(--space-3);margin-top:var(--space-3)}.topbar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border)}.topbar-user{display:flex;align-items:center;gap:var(--space-3)}.topbar-user-name{font-weight:600}.topbar-user-email{color:var(--ash);font-size:12px}.role-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 10px;border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--ash)}.role-badge[data-role=manager]{color:var(--pulse-green);border-color:var(--pulse-green)}.role-badge[data-role=admin]{color:var(--violet);border-color:var(--violet)}.page{padding:var(--space-6);max-width:1400px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-header h1{font-size:22px;font-weight:700;margin:0;letter-spacing:-.01em}.page-header .subtitle{color:var(--ash);font-size:13px;margin-top:2px}.page-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.banner{display:flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--orange);color:var(--orange);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);font-size:13px}.banner svg{flex:none;width:16px;height:16px}.banner.banner-view{border-color:var(--violet);color:var(--violet);justify-content:space-between}.banner.banner-view .banner-text{display:flex;align-items:center;gap:var(--space-2)}.banner.banner-view button{flex:none;cursor:pointer;background:var(--violet);color:var(--void-black);border:none;border-radius:var(--radius-pill);padding:4px 12px;font-size:12px;font-weight:700}.viewas-toggle{color:var(--violet)}.viewas-toggle svg{color:var(--violet)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-header h2{font-size:15px;font-weight:600;margin:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.stat-tile-top{display:flex;align-items:center;justify-content:space-between;color:var(--ash)}.stat-tile-top svg{width:16px;height:16px}.stat-tile-label{font-size:12px;color:var(--ash)}.stat-tile-value{font-size:26px;font-weight:700;color:var(--cream);letter-spacing:-.02em}.stat-tile-value.accent{color:var(--pulse-green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-pill);border:1px solid transparent;padding:9px 18px;font-weight:600;font-size:13px;cursor:pointer;transition:opacity .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:15px;height:15px}.btn-primary{background:var(--gradient-green);color:var(--void-black)}.btn-primary:hover:not(:disabled){opacity:.88}.btn-secondary{background:var(--surface-2);border-color:var(--border);color:var(--cream)}.btn-secondary:hover:not(:disabled){border-color:var(--ash)}.btn-ghost{background:transparent;color:var(--ash)}.btn-ghost:hover:not(:disabled){color:var(--cream);background:var(--surface-2)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#ff6b6b1a}.btn-sm{padding:6px 14px;font-size:12px}.btn-icon{padding:8px}.btn-block{width:100%}label{display:block;font-size:12px;color:var(--ash);margin-bottom:6px;font-weight:500}.field{margin-bottom:var(--space-4)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-grid.single{grid-template-columns:1fr}.input,.select,.textarea{width:100%;background:var(--void-black);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;color:var(--cream);outline:none;transition:border-color .15s ease}.input::placeholder,.textarea::placeholder{color:var(--ash)}.input:focus,.select:focus,.textarea:focus{border-color:var(--pulse-green)}.textarea{resize:vertical;min-height:80px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237c7c6f' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.search-bar{position:relative;flex:1;min-width:200px;max-width:320px}.search-bar svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--ash)}.search-bar .input{padding-left:36px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;border:1px solid var(--border);color:var(--ash);white-space:nowrap}.stage-pill[data-stage=new]{color:var(--blue);border-color:var(--blue)}.stage-pill[data-stage=contacted]{color:var(--violet);border-color:var(--violet)}.stage-pill[data-stage=qualified]{color:var(--lime);border-color:var(--lime)}.stage-pill[data-stage=proposal]{color:var(--orange);border-color:var(--orange)}.stage-pill[data-stage=won]{color:var(--pulse-green);border-color:var(--pulse-green);background:#0ae44814}.stage-pill[data-stage=lost]{color:var(--danger);border-color:var(--danger)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;min-width:640px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ash);font-weight:600;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface-2)}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}tbody tr{background:var(--surface);transition:background .15s ease}tbody tr:last-child td{border-bottom:none}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--surface-2)}.cell-primary{font-weight:600;color:var(--cream)}.cell-muted{color:var(--ash)}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-4);color:var(--ash);font-size:13px}.pagination-controls{display:flex;gap:var(--space-2)}.segmented{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:3px;gap:2px}.segmented button{background:transparent;border:none;color:var(--ash);font-weight:600;font-size:12px;padding:6px 14px;border-radius:var(--radius-pill);cursor:pointer;transition:all .15s ease}.segmented button.active{background:var(--pulse-green);color:var(--void-black)}.segmented button:not(.active):hover{color:var(--cream)}.tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--border);margin-bottom:var(--space-5)}.tab{padding:var(--space-3) 0;color:var(--ash);font-weight:600;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;border-left:none;border-right:none;border-top:none}.tab.active{color:var(--pulse-green);border-bottom-color:var(--pulse-green)}.two-col{display:grid;grid-template-columns:360px 1fr;gap:var(--space-5);align-items:start}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;gap:var(--space-3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}hr.rule{border:none;border-top:1px solid var(--border);margin:var(--space-4) 0}.info-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;color:var(--cream)}.info-row svg{width:15px;height:15px;color:var(--ash);flex:none}.info-row.muted{color:var(--ash)}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:2px 10px;font-size:11px;color:var(--ash)}.timeline{display:flex;flex-direction:column}.timeline-item{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.timeline-item:last-child{border-bottom:none}.timeline-icon{width:32px;height:32px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex:none;color:var(--ash)}.timeline-icon svg{width:15px;height:15px}.timeline-icon.outbound{color:var(--pulse-green);border-color:var(--pulse-green)}.timeline-icon.inbound{color:var(--blue);border-color:var(--blue)}.timeline-body{flex:1;min-width:0}.timeline-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.timeline-title{font-weight:600;font-size:13px}.timeline-time{color:var(--ash);font-size:12px;white-space:nowrap}.timeline-text{color:var(--cream);font-size:13px;margin-top:4px;white-space:pre-wrap;word-break:break-word}.timeline-meta{color:var(--ash);font-size:12px;margin-top:4px}.timeline-audio{margin-top:var(--space-2);width:100%;max-width:380px;height:32px}.coaching-note{margin-top:var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:12px;color:var(--lime)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-6) var(--space-4);color:var(--ash);gap:var(--space-2)}.empty-state svg{width:32px;height:32px;color:var(--border);margin-bottom:var(--space-2)}.empty-state .title{color:var(--cream);font-weight:600;font-size:14px}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 37%,var(--surface) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:var(--radius)}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-row{height:44px;margin-bottom:var(--space-2)}.skeleton-tile{height:88px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top-color:var(--pulse-green);animation:spin .7s linear infinite;flex:none}.spinner.lg{width:28px;height:28px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.toast-stack{position:fixed;bottom:var(--space-5);right:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);z-index:1000}.toast{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);min-width:260px;max-width:360px;font-size:13px;box-shadow:0 8px 24px #0006;animation:toast-in .2s ease}.toast.success{border-color:var(--pulse-green)}.toast.error{border-color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:900;padding:var(--space-4)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.modal-header h2{margin:0;font-size:16px}.login-shell{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:radial-gradient(ellipse 70% 45% at 50% 36%,rgba(10,228,72,.07),transparent 70%),var(--void-black)}.login-card{width:100%;max-width:400px}.login-brand{display:flex;align-items:center;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-5);font-weight:700;font-size:18px;letter-spacing:-.02em}.login-brand .dot{width:12px;height:12px;border-radius:50%;background:var(--gradient-green)}.login-form{padding:var(--space-6) var(--space-5);box-shadow:0 24px 60px #00000073,0 0 48px #0ae4480f}.login-title{font-size:18px;font-weight:700;margin:0 0 var(--space-1);letter-spacing:-.01em}.login-tagline{color:var(--ash);font-size:13px;margin:0 0 var(--space-5)}.login-form .btn-block{padding-top:11px;padding-bottom:11px;margin-top:var(--space-2)}.form-error{color:var(--danger);font-size:13px;margin-top:var(--space-2)}.composer{display:flex;flex-direction:column;gap:var(--space-2)}.composer-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.bar-chart{display:flex;flex-direction:column;gap:var(--space-2)}.bar-row{display:grid;grid-template-columns:90px 1fr 34px;align-items:center;gap:var(--space-3);font-size:12px}.bar-track{height:8px;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden}.bar-fill{height:100%;background:var(--gradient-green);border-radius:var(--radius-pill);transition:width .3s ease}.text-ash{color:var(--ash)}.text-danger{color:var(--danger)}.text-accent{color:var(--pulse-green)}.mt-0{margin-top:0}:root{--tabbar-h: 62px}a,button{-webkit-tap-highlight-color:transparent}.nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--gradient-green);color:var(--void-black);font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.topbar-brand{display:none;align-items:center;gap:var(--space-2);font-weight:700;font-size:16px;letter-spacing:-.02em}.topbar-brand .dot{width:10px;height:10px;border-radius:50%;background:var(--gradient-green)}.avatar{width:20px;height:20px;border-radius:50%;flex:none;background:var(--surface-2);border:1px solid var(--border);color:var(--cream);font-size:9px;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center}.avatar.lg{width:40px;height:40px;font-size:13px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:800;display:none;grid-template-columns:repeat(5,1fr);background:#161817db;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:var(--tabbar-h);color:var(--ash);text-decoration:none;font-size:10px;font-weight:600;letter-spacing:.01em;background:none;border:none;cursor:pointer;position:relative;transition:color .15s ease}.tabbar-item svg{width:22px;height:22px}.tabbar-item.active{color:var(--pulse-green)}.tabbar-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:28px;height:3px;border-radius:0 0 4px 4px;background:var(--gradient-green);box-shadow:0 2px 12px #0ae4488c}.tabbar-item:active{color:var(--cream)}.tabbar-icon-wrap{position:relative;display:inline-flex}.tabbar-badge{position:absolute;top:-5px;right:-10px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--gradient-green);color:var(--void-black);font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--void-black)}.fab{position:fixed;z-index:810;right:var(--space-4);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-4));width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:var(--gradient-green);color:var(--void-black);display:none;align-items:center;justify-content:center;box-shadow:0 8px 28px #0ae44859,0 6px 16px #00000080;transition:transform .15s ease}.fab svg{width:26px;height:26px}.fab:active{transform:scale(.9)}.sheet-user{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-2);border-bottom:1px solid var(--border)}.sheet-user>div{flex:1;min-width:0}.sheet-nav-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-3);border:none;background:none;cursor:pointer;border-radius:var(--radius);color:var(--cream);font-weight:500;font-size:14px;text-decoration:none;transition:background .15s ease}.sheet-nav-item svg{width:18px;height:18px;color:var(--ash)}.sheet-nav-item:hover,.sheet-nav-item:active{background:var(--surface-2)}.sheet-nav-item.active{color:var(--pulse-green)}.sheet-nav-item.active svg{color:var(--pulse-green)}.sheet-nav-item.danger{color:var(--danger)}.sheet-nav-item.danger svg{color:var(--danger)}.action-sheet{max-width:420px}.action-sheet-title{font-weight:600;font-size:14px;color:var(--ash);padding-bottom:var(--space-3);margin-bottom:var(--space-2);border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-3);border:none;background:none;cursor:pointer;border-radius:var(--radius);color:var(--cream);font-weight:500;font-size:14px;transition:background .15s ease}.action-item svg{width:18px;height:18px;color:var(--ash)}.action-item:hover,.action-item:active{background:var(--surface-2)}.action-item.danger,.action-item.danger svg{color:var(--danger)}.action-item.muted,.action-item.muted svg{color:var(--ash)}.action-custom{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3)}.filters-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.seg-badge{margin-left:6px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:#0ae44829;color:var(--pulse-green);font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.segmented button.active .seg-badge{background:#0e100f38;color:var(--void-black)}.assignee-filter{max-width:180px}.task-list{display:flex;flex-direction:column}.task-list.reordering{user-select:none;-webkit-user-select:none}.task-section{display:flex;flex-direction:column;gap:var(--space-2)}.task-section+.task-section{margin-top:var(--space-4)}.task-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ash);margin:var(--space-2) 0 var(--space-1)}.task-section-title.danger{color:var(--danger)}.task-section-title .count{min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);font-size:10px;display:inline-flex;align-items:center;justify-content:center}.task-section-title.danger .count{border-color:var(--danger);color:var(--danger);background:#ff6b6b14}.task-row{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:border-color .2s ease,opacity .2s ease}.task-row.pending{opacity:.72}.task-row.pending .task-row-inner{cursor:default}.task-row.pending .task-row-inner:hover{background:var(--surface)}.task-check.pending-spin{border:none;color:var(--orange)}.task-check.pending-spin svg{width:18px;height:18px;animation:spin .7s linear infinite}.task-row.flash{animation:row-flash 2.4s ease}@keyframes row-flash{0%,55%{border-color:var(--pulse-green);box-shadow:0 0 0 1px var(--pulse-green),0 0 28px #0ae4484d}to{box-shadow:none}}.drag-source{opacity:.35}.drop-indicator{height:2px;margin:3px 2px;border-radius:1px;background:var(--pulse-green);box-shadow:0 0 10px #0ae448b3}.task-swipe-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);background:var(--surface-2)}.task-swipe-bg .swipe-complete{display:flex;align-items:center;gap:6px;color:var(--pulse-green);font-weight:700;font-size:13px}.task-swipe-bg .swipe-actions{display:flex;align-items:center;color:var(--ash)}.task-swipe-bg svg{width:20px;height:20px}.task-row-inner{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:56px;background:var(--surface);cursor:pointer;touch-action:pan-y}.task-row-inner.settling{transition:transform .22s cubic-bezier(.22,1,.36,1)}.task-row-inner:hover{background:var(--surface-2)}.task-check{width:24px;height:24px;min-width:24px;border-radius:50%;border:2px solid var(--border);background:transparent;color:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;position:relative;transition:border-color .15s ease,background .15s ease}.task-check:after{content:"";position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px}.task-check svg{width:14px;height:14px}.task-check:hover{border-color:var(--pulse-green)}.task-check.checked{background:var(--gradient-green);border-color:transparent;color:var(--void-black);animation:check-pop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes check-pop{0%{transform:scale(.6)}to{transform:scale(1)}}.task-main{flex:1;min-width:0}.task-title-line{display:flex;align-items:center;gap:var(--space-2);min-width:0}.task-title{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row.done .task-title{text-decoration:line-through;color:var(--ash);font-weight:500}.prio-dot{width:8px;height:8px;min-width:8px;border-radius:50%;display:inline-block}.prio-dot[data-p=high]{background:var(--danger);box-shadow:0 0 8px #ff6b6b99}.prio-dot[data-p=medium]{background:var(--orange)}.prio-dot[data-p=low]{background:var(--blue);opacity:.7}.task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-top:3px;font-size:12px;color:var(--ash)}.task-meta svg{width:12px;height:12px}.due-chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.due-chip.overdue{color:var(--danger);font-weight:700}.meta-chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.meta-chip.tag-chip{color:var(--lime)}.meta-chip.syncing{color:var(--orange);font-style:italic}.meta-icon{flex:none}.assignee-chip{display:inline-flex;align-items:center;gap:5px;color:var(--cream)}.task-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease}.task-row-inner:hover .task-actions{opacity:1}.task-actions .btn-icon{padding:6px}.task-actions .btn-icon.danger{color:var(--danger)}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:44px;margin:-10px -8px -10px -4px;color:var(--border);cursor:grab;touch-action:none}.drag-handle:hover{color:var(--ash)}.drag-handle svg{width:16px;height:16px}.task-quickadd{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-2) var(--space-4);min-height:52px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--ash);transition:border-color .15s ease}.task-quickadd:focus-within{border-color:var(--pulse-green);border-style:solid}.task-quickadd>svg{width:18px;height:18px;flex:none}.task-quickadd:focus-within>svg{color:var(--pulse-green)}.quickadd-input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--cream);padding:10px 0}.quickadd-input::placeholder{color:var(--ash)}.composer-title{font-size:16px;font-weight:600;padding:12px 14px}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;min-height:32px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--ash);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.chip svg{width:13px;height:13px}.chip:hover{color:var(--cream);border-color:var(--ash)}.chip.active{color:var(--pulse-green);border-color:var(--pulse-green);background:#0ae44814}.label-icon{width:12px;height:12px;vertical-align:-2px;margin-right:4px}.field-hint{font-size:11px;color:var(--ash);margin-top:4px}.prio-segments{width:100%}.prio-segments button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}.prio-segments button.active .prio-dot{box-shadow:none}.switch{width:46px;height:28px;min-width:46px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);position:relative;cursor:pointer;padding:0;transition:background .2s ease,border-color .2s ease}.switch .switch-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--ash);transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s ease}.switch.on{background:#0ae4482e;border-color:var(--pulse-green)}.switch.on .switch-knob{transform:translate(18px);background:var(--pulse-green);box-shadow:0 0 10px #0ae44880}.switch:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}@media(max-width:1024px){.app-shell{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{padding:var(--space-4) var(--space-2)}.sidebar-brand span,.nav-item span{display:none}.sidebar-brand,.nav-item{justify-content:center}.two-col,.form-grid{grid-template-columns:1fr}.page{padding:var(--space-4)}}@media(max-width:768px){.app-shell{display:block;min-height:100dvh}.sidebar{display:none}.topbar{position:sticky;top:0;z-index:700;justify-content:space-between;background:#0e100fd1;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);padding:var(--space-3) var(--space-4);padding-top:max(var(--space-3),env(safe-area-inset-top))}.topbar-brand{display:flex}.topbar-user-text{display:none}.app-main main{padding-bottom:calc(var(--tabbar-h) + 58px + env(safe-area-inset-bottom) + var(--space-6))}.tabbar{display:grid}.fab{display:flex}.page{padding:var(--space-4)}.page-header h1{font-size:20px}.modal-overlay{align-items:flex-end;padding:0;animation:overlay-in .2s ease}.modal{max-width:none;border-radius:20px 20px 0 0;border-left:none;border-right:none;border-bottom:none;max-height:92dvh;padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));animation:sheet-up .3s cubic-bezier(.32,.72,.24,1);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--border);margin:-8px auto var(--space-3)}.task-actions{display:none}.filters-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none}.filters-row::-webkit-scrollbar{display:none}.filters-row .search-bar{min-width:170px}.segmented button{padding:8px 14px}}@keyframes sheet-up{0%{transform:translateY(48%);opacity:.5}to{transform:none;opacity:1}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.input,.select,.textarea{font-size:16px}}
