:root{--navy: #000080;--blue: #005dba;--sky: #44c1f2;--green: #04bf10;--green-ink: #046b0c;--sky-ink: #0a6285;--bg: #f7f8fb;--surface: #ffffff;--surface-2: #eef1f6;--ink: #000080;--text: #1b1f3a;--muted: #5d6478;--border: rgba(0, 0, 128, .12);--danger: #c62828;--radius: 1.25rem;--radius-sm: .75rem;--shadow: 0 8px 24px -12px rgba(0, 0, 128, .25);--shadow-lift: 0 18px 40px -16px rgba(0, 93, 186, .35);--font-display: "Sora", ui-sans-serif, system-ui, sans-serif;--font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.45}h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .5rem;line-height:1.15}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.muted{color:var(--muted)}.error{color:var(--danger)}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--navy);color:#fff;display:flex;align-items:center;gap:1.25rem;padding:.6rem 1.25rem;position:sticky;top:0;z-index:20}.topbar img{height:34px;background:#fff;border-radius:8px;padding:4px 8px}.topbar nav{display:flex;gap:.25rem;flex-wrap:wrap}.topbar nav a{color:#fff;padding:.4rem .8rem;border-radius:999px;font-weight:600;opacity:.85}.topbar nav a:hover{opacity:1;text-decoration:none;background:#ffffff1f}.topbar nav a.active{opacity:1;background:var(--blue)}.topbar .spacer{flex:1}.topbar .who{display:flex;align-items:center;gap:.75rem;font-weight:600}.main{flex:1;padding:1.25rem;max-width:1600px;width:100%;margin:0 auto}.btn{border:0;border-radius:999px;padding:.45rem .95rem;font-weight:700;cursor:pointer;background:var(--surface-2);color:var(--ink);transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn.primary{background:var(--navy);color:#fff}.btn.sky{background:var(--sky);color:var(--navy)}.btn.green{background:var(--green);color:#fff}.btn.ghost{background:transparent;color:var(--blue)}.btn.small{padding:.25rem .6rem;font-size:.85rem}.btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem}.panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.25rem;margin-bottom:1rem}.panel h2{display:flex;align-items:center;gap:.6rem}.pill{display:inline-block;border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:700;color:#fff;letter-spacing:.01em;white-space:nowrap}.count{display:inline-block;min-width:1.5rem;text-align:center;border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:.8rem;padding:.1rem .45rem;font-weight:700}.login{min-height:100vh;display:grid;place-items:center}.login .card{width:min(420px,92vw);text-align:center;padding:2rem}.login img{height:48px;margin-bottom:1rem}.status-strip{display:flex;flex-wrap:wrap;gap:.35rem;margin:-.25rem 0 .75rem}.status-strip .pill{border:0;cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;opacity:.92}.status-strip .pill:hover{opacity:1;box-shadow:var(--shadow)}.status-strip .pill:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.board{display:flex;gap:.9rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;padding-bottom:.5rem;align-items:stretch;height:calc(100vh - 12.5rem);min-height:22rem}.column{flex:0 0 280px;display:flex;flex-direction:column;min-height:0;background:var(--surface-2);border-radius:var(--radius);padding:.6rem;transition:background .15s ease}.column.over{background:#dfefff}.column h3{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.25rem .4rem .6rem}.column .cards{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;display:flex;flex-direction:column;gap:.6rem;padding:.15rem .15rem .5rem;scrollbar-width:thin}.column .ccard{padding:.75rem .9rem}.ccard{cursor:grab;transition:transform .15s ease,box-shadow .15s ease;animation:rise .35s ease both}.ccard:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.ccard.dragging{opacity:.35;transition:none}.ccard.lifted,.ccard.lifted:hover{cursor:grabbing;transform:rotate(1.5deg) scale(1.02);box-shadow:var(--shadow-lift);width:260px;animation:none}.panel h2 .end{margin-left:auto}.ccard .title{display:flex;justify-content:space-between;gap:.5rem;align-items:center;font-family:var(--font-display);font-weight:700;color:var(--ink)}.ccard .meta{color:var(--muted);font-size:.85rem;margin-top:.2rem}.ccard .line{margin-top:.5rem;font-size:.88rem}.ccard .line b{color:var(--blue)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.item-head{align-items:baseline}.item-head h1{margin:0}.toolbar input,.toolbar select,.field input,.field select,.field textarea,.dialog input,.dialog select,.dialog textarea,.picker input,.panel h2 select{font:inherit;padding:.45rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;max-width:100%}.field input,.field select,.field textarea{width:100%;min-width:0}.field textarea{min-height:4rem;resize:vertical}.panel h2 select{padding:.25rem .5rem;font-size:.85rem;font-weight:600}.picker{margin:.25rem 0 .75rem}.picker input{width:100%}.picker .list{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;margin-top:.35rem}.picker .list .btn{width:100%;text-align:left;border-radius:var(--radius-sm)}.picker .list .btn:hover{background:var(--surface-2);transform:none;box-shadow:none}h3.sub{display:flex;align-items:center;gap:.5rem;margin-top:.9rem}.page{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem}@media(max-width:1000px){.page{grid-template-columns:1fr}}.timeline .item{padding:.55rem 0;border-top:1px solid var(--border);display:flex;gap:.75rem;align-items:flex-start;justify-content:space-between}.timeline .item:first-child{border-top:0}.timeline .actions{display:flex;gap:.35rem;flex-shrink:0}.timeline .when{color:var(--muted);font-size:.8rem;margin-right:.5rem;white-space:nowrap}.fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem 1rem}.field{display:flex;flex-direction:column;gap:.15rem;min-width:0}.field label{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.inline{cursor:text;padding:.3rem .5rem;border-radius:var(--radius-sm);min-height:1.9rem}.inline:hover{background:var(--surface-2)}.inline.empty{color:var(--muted);font-style:italic}.list{list-style:none;padding:0;margin:0}.list li{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-top:1px solid var(--border)}.list li:first-child{border-top:0}details.legacy summary{cursor:pointer;font-weight:700;color:var(--muted)}table.grid{width:100%;border-collapse:collapse}table.grid th,table.grid td{text-align:left;padding:.5rem .6rem;border-top:1px solid var(--border)}table.grid th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-top:0}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(900px,96vw);background:var(--bg);box-shadow:-20px 0 50px -30px #00008080;overflow-y:auto;overflow-x:hidden;padding:0 1.25rem 1rem;z-index:30;animation:slide .25s ease both}@keyframes slide{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}.drawer .close{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;gap:.5rem;margin:0 -1.25rem .75rem;padding:.6rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--border)}.drawer .page{grid-template-columns:1fr}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00004040;z-index:25}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00004059;display:grid;place-items:center;z-index:40}.dialog{background:#fff;border-radius:var(--radius);padding:1.25rem 1.5rem;width:min(480px,92vw);box-shadow:var(--shadow-lift);display:flex;flex-direction:column;gap:.75rem}.dialog .row{display:flex;gap:.5rem;justify-content:flex-end}.dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.dash .wide{grid-column:1 / -1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:0}.dash .wide h2,.dash .wide .stat{margin:0}.stat{font-family:var(--font-display);font-size:2rem;color:var(--navy);animation:pop .5s ease both}@keyframes pop{0%{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}.status-grid{display:flex;flex-wrap:wrap;gap:.4rem}.toasts{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.5rem;align-items:center;z-index:50;pointer-events:none}.toast{background:var(--navy);color:#fff;padding:.6rem 1rem;border-radius:999px}.toast.error{background:var(--danger)}.item-head h1 .inline{padding:0 .3rem;min-height:0}.item-head .head-status{width:150px}.login form{display:flex;flex-direction:column;gap:.75rem;text-align:left;margin-top:1rem}.login form .btn{align-self:stretch}.page-narrow{max-width:480px}.page-narrow .row{display:flex;justify-content:flex-end}.stack{display:flex;flex-direction:column;gap:.75rem}.topbar .btn.ghost{color:#fff}.mtable-wrap{overflow-x:auto;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:.5rem 1rem 1rem}.mtable-empty{padding:1rem .5rem}.mtable{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:100%;font-size:14px}.mtable td,.mtable th{height:36px;padding:0 8px;border:1px solid #d0d4e4;border-top:0;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;vertical-align:middle}.mtable th{font-weight:500;color:var(--muted);border-top:1px solid #d0d4e4}.mtable .group-title td{overflow:visible;border:0;background:transparent;height:48px;padding:.75rem 0 .25rem}.group-toggle{position:sticky;left:0;display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;font:inherit;font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--group);cursor:pointer;padding:0}.group-toggle .chev{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;transform:rotate(-90deg);transition:transform .15s ease}.group-toggle .chev.open{transform:none}.group-count{font-family:var(--font-sans);font-size:13px;font-weight:500;color:var(--muted)}.mtable .group-head th:first-child,.mtable .mrow td:first-child,.mtable .group-add td{padding-left:14px}.mtable .group-add td{box-shadow:inset 6px 0 0 var(--group)}.mtable .mrow td:first-child,.mtable .group-head th:first-child{box-shadow:inset 6px 0 0 var(--group),-16px 0 #fff}.mtable .group-head th:first-child{border-top-left-radius:6px;position:sticky;left:0;z-index:1}.mtable .mrow td:first-child{position:sticky;left:0;z-index:1;font-weight:600;color:var(--ink)}.mtable .mrow:hover td{background:#f5f6f8}.mtable .group-add td{color:var(--muted);border-bottom-left-radius:6px}.mtable .group-add input{border:0;background:transparent;font:inherit;width:100%;outline:none}.mtable .group-add input::placeholder{color:var(--muted)}.row-open{border:0;background:transparent;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;padding:0;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis}.row-open:hover{text-decoration:underline}.mtable .cell-status{padding:0}.status-block{display:flex;align-items:center;justify-content:center;width:100%;height:36px;color:#fff;font-weight:600;font-size:13px;border:0;font-family:inherit;cursor:default;text-transform:none}button.status-block{cursor:pointer}.status-menu{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:320px}.status-menu .status-block{height:32px;border-radius:4px;cursor:pointer}.status-menu .status-block:hover,.status-menu .status-block:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.cell-anchor{position:relative;display:flex;align-items:center;gap:.35rem;height:100%;min-width:0}.popover{position:absolute;top:calc(100% + 4px);left:0;z-index:50;background:#fff;border-radius:8px;box-shadow:var(--shadow-lift);border:1px solid #d0d4e4;padding:.6rem;min-width:240px;white-space:normal}.owner-cell{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;font:inherit;padding:0;cursor:default;max-width:100%;overflow:hidden}button.owner-cell{cursor:pointer}.avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:10px;font-weight:700;flex-shrink:0}.menu{display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;border-radius:6px;cursor:pointer}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-2);outline:none}.menu-item[aria-selected=true]{font-weight:700}.connect-cell{gap:.3rem}.connect-item{display:inline-flex;align-items:center;gap:.3rem;min-width:0}.connect-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--blue)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.connect-open{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;padding:0 2px;opacity:.5}.connect-item:hover .connect-open,.connect-open:hover,.connect-open:focus-visible,.popover .connect-open{opacity:1}.connect-more{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;cursor:pointer;border:0;font-family:inherit}.connect-tip{position:fixed;z-index:60;background:#323338;color:#fff;border-radius:6px;padding:.4rem .6rem;display:flex;flex-direction:column;gap:.2rem;font-weight:500;font-size:13px;white-space:nowrap}.connect-tip-row{display:flex;align-items:center;gap:.3rem}.connect-edit{margin-left:auto;width:22px;height:22px;border-radius:50%;border:1px solid #d0d4e4;background:#fff;color:var(--blue);font-weight:700;cursor:pointer;opacity:0;flex-shrink:0}.mrow:hover .connect-edit,.connect-edit:focus-visible,.panel .connect-edit{opacity:1}.picker-search{width:100%;font:inherit;padding:.4rem .6rem;border:1px solid #d0d4e4;border-radius:6px;margin-bottom:.4rem}.picker-list{display:flex;flex-direction:column;gap:.15rem;max-height:260px;overflow-y:auto}.picker-item{display:flex;align-items:center;gap:.4rem;padding:.25rem .3rem;border-radius:6px;cursor:pointer}.picker-item:hover{background:var(--surface-2)}.line-cell{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell{border:0;background:transparent;font:inherit;width:100%}.text-cell{border:0;background:transparent;font:inherit;padding:0;width:100%;text-align:left;cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-cell-input{width:100%;font:inherit;border:1px solid var(--blue);border-radius:4px;padding:.2rem .4rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;background:var(--surface-2);color:var(--ink);font-weight:600;font-size:13px}.chip a{color:inherit}.chip .x{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.chip .x:hover{color:var(--danger)}.chip.add{background:transparent;border:1px dashed #b7bdd3;color:var(--blue);cursor:pointer;font:inherit;font-weight:600}.chips .cell-anchor{height:auto}.view-tabs{display:flex;gap:.25rem;border-bottom:1px solid #d0d4e4;margin-bottom:.75rem}.view-tabs a{padding:.4rem .8rem;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}.view-tabs a.active{color:var(--navy);border-bottom-color:var(--navy);text-decoration:none}.view-tabs a:hover{text-decoration:none;color:var(--navy)}.field-rows{display:grid;grid-template-columns:180px minmax(0,1fr);gap:.4rem .75rem;align-items:center}.field-rows .k{color:var(--muted);font-size:13px;font-weight:600}.field-rows .v{background:var(--surface-2);border-radius:6px;min-height:34px;display:flex;align-items:center;padding:0 .6rem;min-width:0}.field-rows .v .inline{flex:1;padding:.2rem 0;min-height:0}.field-rows .v .inline:hover{background:transparent}.field-rows .v .cell-anchor{flex:1}.field-rows .v .status-block{width:100%;margin:0;border-radius:6px}.panel details>summary{cursor:pointer;font-weight:700;color:var(--ink);margin:.4rem 0}.field-rows .v select,.field-rows .v input[type=date]{border:0;background:transparent;padding:.2rem 0;width:100%}.field-rows .v textarea{border:0;background:transparent;width:100%;padding:.3rem 0}.field-rows .v.wide{align-items:flex-start;padding:.4rem .6rem}@media(max-width:640px){.field-rows{grid-template-columns:1fr}}.row-actions{display:inline-flex;gap:.3rem}.mtable .cell-actions{overflow:visible}
