@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy: #1a323f;--navy-dark: #10222c;--navy-light: #274756;--coral: #ea5c5c;--coral-dark: #d94a4a;--coral-light: #f27a7a;--cream: #faf3e7;--cream-dark: #f1e7d8;--cream-light: #fff9f2;--navy-75: #536570;--navy-50: #8c989f;--navy-30: #bac1c5;--navy-15: #dde0e2;--steel: #5c8fa6;--coral-soft: #fdeceb;--bg: var(--cream);--surface: #ffffff;--ink: var(--navy);--muted: #647680;--line: #ece2d2;--danger: #c23b3b;--radius: 20px;--radius-sm: 12px;--shadow: 0 1px 2px rgba(26, 50, 63, .04), 0 12px 32px rgba(26, 50, 63, .06);font-family:Plus Jakarta Sans Variable,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45;color:var(--ink);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0}h2{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin:0}h3{font-size:.85rem;font-weight:700;margin:0}a{color:inherit;text-decoration:none}p{margin:.4rem 0}strong{font-weight:700}.muted{color:var(--muted)}.small{font-size:.82rem}.pre{white-space:pre-wrap}.spacer{flex:1}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column}.overdue{color:var(--danger);font-weight:600}.coral{color:var(--coral-dark)}.icon{flex:none}.label{margin:1rem 0 .5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.shell{display:flex;min-height:100vh}.side{position:sticky;top:0;height:100vh;width:232px;flex:none;display:flex;flex-direction:column;gap:.25rem;padding:1.25rem .9rem;background:var(--cream-light);border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.65rem;padding:0 .4rem 1.4rem;font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.brand img{width:44px;height:36px}.side nav{display:flex;flex-direction:column;gap:.25rem}.side nav a,.side-link{display:flex;align-items:center;gap:.7rem;padding:.65rem .8rem;border:0;border-radius:var(--radius-sm);background:none;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;text-align:left}.side nav a:hover,.side-link:hover{background:var(--cream-dark);color:var(--ink)}.side nav a.active{background:var(--navy);color:var(--cream)}.side nav a.active .icon{color:var(--coral-light)}.main{flex:1;min-width:0}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:1rem;padding:.9rem 1.75rem;background:color-mix(in srgb,var(--cream) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search{position:relative;flex:1;max-width:460px;display:flex;align-items:center;gap:.5rem;padding:0 .9rem;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--muted)}.search:focus-within{border-color:var(--navy-50)}.search input:not([type=checkbox]){flex:1;border-radius:0;min-width:0;border:0;background:none;padding:.6rem 0;outline:none}.search-results{position:absolute;top:calc(100% + .4rem);left:0;right:0;padding:.4rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.search-results p{margin:.4rem .6rem}.search-results button{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.55rem .7rem;border:0;border-radius:10px;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.search-results button.active{background:var(--cream)}.user{display:flex;align-items:center;gap:.6rem;padding:.3rem .4rem .3rem .3rem;background:var(--surface);border:1px solid var(--line);border-radius:999px}.user-text{display:flex;flex-direction:column;line-height:1.2}.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--navy);color:var(--cream);font-weight:700;object-fit:cover}.avatar-upload{position:relative;display:inline-flex;border-radius:50%;cursor:pointer}.avatar-upload:hover .avatar{box-shadow:0 0 0 2px var(--coral)}.avatar-upload:focus-within{outline:2px solid var(--coral);outline-offset:2px}.avatar-upload input{position:absolute;width:1px;height:1px;padding:0!important;border:0!important;opacity:0;pointer-events:none}.avatar.empty{background:none;border:1.5px dashed var(--navy-30)}.page{max-width:1360px;margin:0 auto;padding:.5rem 1.75rem 3rem}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login{background:var(--cream-dark)}.login .card{text-align:center;padding:2.25rem 2rem}.login-logo{width:104px;height:85px;align-self:center;margin-bottom:.25rem}.narrow{width:100%;max-width:380px;display:flex;flex-direction:column;gap:.75rem}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.35rem 1.5rem;margin-bottom:1.25rem}.card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem}.row{display:flex;align-items:center;gap:.6rem}.row.wrap{flex-wrap:wrap;gap:.5rem 1rem}.card>.row.wrap{margin-bottom:.9rem}form.card.row.wrap>*{margin-bottom:0}.row.head{flex-wrap:wrap;margin:.75rem 0 1.25rem}.count{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;padding:.1rem .45rem;border-radius:999px;background:var(--cream-dark);font-size:.78rem;font-weight:700}.badge{display:inline-block;padding:.15rem .6rem;margin-right:.3rem;border-radius:999px;background:var(--cream-dark);font-size:.75rem;font-weight:600;white-space:nowrap}.typetag{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--muted)}.typetag i,.legend i,.chip i,.donut-legend i,.moneylist i,.col h3 i{flex:none;display:inline-block;width:.6rem;height:.6rem;border-radius:50%}.legend{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.8rem;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:.4rem}.progress{display:inline-block;width:72px;height:6px;border-radius:999px;background:var(--cream-dark);overflow:hidden}.progress span{display:block;height:100%;border-radius:999px;background:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1.05rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--navy-50)}.btn.primary{background:var(--navy);border-color:var(--navy);color:var(--cream)}.btn.primary:hover{background:var(--navy-light)}.btn.light{background:var(--cream);border-color:var(--cream)}.btn.ghost{background:none;border-color:transparent}.btn.block{width:100%;padding:.8rem 1rem}.btn:disabled{opacity:.6;cursor:default}.link{border:0;background:none;padding:0;font:inherit;font-size:.85rem;font-weight:600;color:var(--navy-75);cursor:pointer}.link:hover{text-decoration:underline}.link.danger,.iconbtn.danger:hover{color:var(--danger)}.iconbtn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer}.iconbtn:hover{background:var(--cream-dark);color:var(--ink)}input,select,textarea{font:inherit;color:var(--ink)}input:not([type=checkbox]),select,textarea{padding:.55rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--cream-light);max-width:100%}textarea{width:100%;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--coral);outline-offset:2px}input[type=checkbox]{accent-color:var(--navy)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem;min-width:0}.field>span{font-size:.78rem;font-weight:600;color:var(--muted)}.field input,.field .select,.field .datefield{width:100%}.select,.datefield{position:relative;display:inline-block;min-width:0}.select.grow{display:block}.select>button,.datefield>button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.55rem .65rem .55rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--cream-light);font:inherit;color:var(--ink);text-align:left;cursor:pointer}.select>button:hover,.select.open>button,.datefield>button:hover,.datefield.open>button{border-color:var(--navy-50)}.datefield>button{white-space:nowrap}.datefield>button .icon,.datefield .placeholder{color:var(--muted)}.datefield.overdue>button{border-color:var(--coral);color:var(--danger)}.calendar{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;width:280px;padding:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 2px 4px #1a323f0f,0 16px 40px #1a323f24;font-size:.9rem;font-weight:500;color:var(--ink);cursor:default}.calendar.up{top:auto;bottom:calc(100% + .35rem)}.calendar.right{left:auto;right:0}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.cal-head strong:first-letter{text-transform:uppercase}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-weekday{padding:.3rem 0;text-align:center;font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--muted)}.cal-grid button{aspect-ratio:1;padding:0;border:0;border-radius:50%;background:none;font:inherit;color:var(--ink);cursor:pointer}.cal-grid button:hover{background:var(--cream)}.cal-grid button.other{color:var(--navy-30)}.cal-grid button.today{box-shadow:inset 0 0 0 1.5px var(--coral);font-weight:700}.cal-grid button.selected{background:var(--navy);color:var(--cream);font-weight:700}.cal-foot{display:flex;justify-content:space-between;margin-top:.6rem;padding:.6rem .3rem 0;border-top:1px solid var(--line)}.select>button .icon{color:var(--muted);transition:transform .15s}.select.open>button .icon{transform:rotate(180deg)}.select-value{min-width:0;min-height:1.45em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-menu{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;min-width:100%;width:max-content;max-width:min(22rem,90vw);max-height:292px;overflow-y:auto;margin:0;padding:.35rem;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 4px #1a323f0f,0 16px 40px #1a323f24;font-size:.95rem;font-weight:500;color:var(--ink)}.select-menu.up{top:auto;bottom:calc(100% + .35rem)}.select-menu.right{left:auto;right:0}.select-menu li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .7rem;border-radius:10px;cursor:pointer}.select-menu li.active{background:var(--cream)}.select-menu li[aria-selected=true]{font-weight:700}.select-menu li .icon{color:var(--coral)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 1rem}.field.wide{grid-column:1 / -1}.check{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;white-space:nowrap}.title-input{width:100%;padding:.2rem .4rem!important;margin:.25rem 0 .9rem -.4rem;border-color:transparent!important;background:none!important;font-size:1.7rem;font-weight:700;letter-spacing:-.02em}.title-input:hover,.title-input:focus{border-color:var(--line)!important;background:var(--cream-light)!important}.backlink{display:inline-flex;align-items:center;gap:.4rem;margin:.75rem 0 1rem;font-weight:600;color:var(--muted)}.backlink:hover{color:var(--ink)}.unsaved{color:var(--coral-dark);font-weight:600}.line{display:flex;align-items:center;gap:.8rem;padding:.65rem 0;border-top:1px solid var(--line)}.card-head+.line,h2+.line{border-top:0}a.line:hover strong,.line a:hover strong{text-decoration:underline}.datechip{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:var(--cream);font-size:.7rem;font-weight:600;line-height:1.1;color:var(--muted)}.datechip strong{font-size:1.05rem;color:var(--ink)}.datechip.overdue{background:var(--coral-soft);color:var(--danger)}.datechip.overdue strong{color:var(--danger)}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;background:var(--cream);font-size:.8rem;font-weight:600}.chip:hover{background:var(--cream-dark)}table.list{width:100%;border-collapse:collapse}table.list th{padding:0 .6rem .7rem;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}table.list td{padding:.65rem .6rem;border-top:1px solid var(--line)}table.list .num{text-align:right;font-variant-numeric:tabular-nums}.orgname{display:inline-flex;align-items:center;gap:.7rem}.orgname:hover strong{text-decoration:underline}.orgmark{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--cream-dark);font-size:.75rem;font-weight:700}.contact{display:flex;align-items:flex-start;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}.contact a{text-decoration:underline;text-decoration-color:var(--navy-30)}.contactform{padding:1rem;margin:.5rem 0;border-radius:16px;background:var(--cream)}.note{display:flex;align-items:flex-start;gap:.8rem;padding:.9rem 0;border-top:1px solid var(--line)}.note.compose{border-top:0;padding-top:0}.note.compose .row{margin-top:.5rem}.note p{margin:.2rem 0 0}.toggle{display:inline-flex;padding:3px;border-radius:999px;background:var(--cream-dark)}.toggle button{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:0;border-radius:999px;background:none;font:inherit;font-size:.88rem;font-weight:700;color:var(--muted);cursor:pointer}.toggle button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #1a323f1a}.tablewrap{overflow-x:auto}.sortbtn{padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;white-space:nowrap}.sortbtn:hover{color:var(--ink)}tr.rowlink{cursor:pointer}tr.rowlink:hover td{background:var(--cream-light)}tr.rowlink a:hover strong{text-decoration:underline}.phasetag{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;white-space:nowrap}.phasetag i{flex:none;width:.6rem;height:.6rem;border-radius:50%;box-shadow:inset 0 0 0 1px #1a323f26}.hero{margin:.5rem 0 1.25rem;padding:1.75rem;border-radius:28px;background:var(--cream-dark)}.hero-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.hero h1{font-size:2.1rem}.hero-date{margin:0 0 .2rem;color:var(--muted)}.hero-date:first-letter{text-transform:uppercase}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem}.kpi{display:flex;flex-direction:column;gap:.15rem;padding:1.1rem 1.2rem;border-radius:18px;background:var(--surface)}.kpi span{font-size:.82rem;font-weight:600;color:var(--muted)}.kpi strong{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;font-variant-numeric:tabular-nums}.kpi em{font-style:normal;font-size:.8rem;color:var(--muted)}.kpi em.warn{color:var(--danger);font-weight:600}.dash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}.dash .card{margin:0;display:flex;flex-direction:column}.span2{grid-column:span 2}.span3{grid-column:1 / -1}.rank{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.2rem;margin-bottom:.6rem}.rank-row{display:grid;grid-template-columns:1.6rem minmax(8rem,14rem) minmax(0,1fr) 7rem;align-items:center;gap:.9rem;padding:.5rem .4rem;border-radius:12px}.rank-row:hover{background:var(--cream-light)}.rank-no{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--cream-dark);font-size:.75rem;font-weight:700}.rank-name{display:flex;flex-direction:column;min-width:0;line-height:1.25}.rank-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-bar{height:14px}.rank-bar>span{display:flex;gap:2px;height:100%;min-width:8px}.rank-bar i{border-radius:999px;min-width:6px}.rank-sum{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.split.tall{height:16px;margin:0 0 .9rem}.phase-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem 1.25rem}.phase-legend>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.phase-legend>div>span:last-child{display:flex;align-items:baseline;gap:.5rem;padding-left:1.05rem}.phase-legend strong{font-size:1.25rem;line-height:1.2}.phase-legend .none{opacity:.55}.phase-legend .phasetag{white-space:normal}.money{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr);gap:2rem}.money-total>strong{display:block;font-size:2rem;letter-spacing:-.02em;line-height:1.25}.split{display:flex;gap:3px;height:12px;margin:.7rem 0}.split span{border-radius:999px;background:var(--cream-dark);min-width:6px}dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.9rem}dt{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted)}dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}dl .sumrow{margin-top:.3rem;padding-top:.6rem;border-top:1px solid var(--line)}dl .sumrow dt{color:var(--ink);font-weight:700}dl .sumrow dd{font-weight:800}.bars-wrap{display:flex;flex-direction:column;min-width:0}.bars{flex:1;display:flex;align-items:stretch;gap:.6rem;min-height:150px;margin:.6rem 0 .3rem}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0}.bar-value{height:1.1rem;font-weight:600;white-space:nowrap}.bar{flex:1;width:100%;max-width:44px;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;border-radius:12px;background:var(--cream);overflow:hidden}.bar span{display:block;border-radius:12px}.task .tick{margin-top:.1rem}.tick{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1.8px solid var(--navy-30);border-radius:50%;background:var(--surface);color:transparent;cursor:pointer}button.tick:hover{border-color:var(--navy);color:var(--navy-50)}.tick.ghost{border-style:dashed;color:var(--navy-50);cursor:default}.timeline{flex:1;display:flex;flex-direction:column}.tl-months{display:grid;grid-template-columns:repeat(6,1fr);padding-bottom:.5rem;border-bottom:1px solid var(--line)}.tl-months span{padding-left:.4rem;border-left:1px solid var(--line);text-transform:capitalize}.tl-body{position:relative;display:flex;flex-direction:column;flex:1;gap:.45rem;min-height:120px;padding:.8rem 0 .4rem;background:repeating-linear-gradient(to right,var(--line) 0 1px,transparent 1px calc(100% / 6))}.tl-today{position:absolute;top:0;bottom:0;width:2px;background:var(--coral)}.tl-empty{margin:auto;padding:0 1rem;text-align:center}.tl-bar{position:relative;padding:.3rem .7rem;border-radius:999px;color:#fff;font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:1rem}.donut{width:170px;height:170px}.donut-num{font-size:30px;font-weight:700;fill:var(--ink)}.donut-label{font-size:9px;fill:var(--muted)}.donut-legend{width:100%;margin:0;padding:0;list-style:none}.donut-legend li{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-top:1px solid var(--line);font-size:.9rem}.donut-legend .small{min-width:5.5rem;text-align:right}.board{display:flex;gap:.9rem;overflow-x:auto;padding-bottom:.75rem;align-items:flex-start}.col{flex:1 0 178px;min-width:0;min-height:180px;padding:.8rem .6rem;border-radius:18px;background:color-mix(in srgb,var(--cream-dark) 55%,transparent)}.col h3{display:flex;align-items:center;gap:.45rem;padding:0 .3rem}.col h3 .count{margin-left:auto;background:var(--surface)}.col-sum{margin:.15rem .3rem 0;min-height:1.1rem}.kcard{display:flex;flex-direction:column;gap:.3rem;margin-top:.6rem;padding:.85rem .9rem;border-radius:14px;background:var(--surface);box-shadow:0 1px 2px #1a323f0f;cursor:grab;transition:box-shadow .15s,transform .15s}.kcard:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.kcard>strong{line-height:1.3;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.kcard .step{padding:.35rem .5rem;border-radius:8px;background:var(--cream)}.kcard .progress{flex:1}.kfoot{min-height:24px;margin-top:.2rem;font-variant-numeric:tabular-nums}.detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.25rem;align-items:start}.stepper{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:1.25rem}.stepper button{flex:1 1 auto;padding:.5rem .8rem;border:0;border-radius:999px;background:var(--cream);font:inherit;font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap;cursor:pointer}.stepper button:hover{background:var(--cream-dark)}.stepper button.passed{background:var(--navy-15);color:var(--ink)}.stepper button.current{background:var(--navy);color:var(--cream)}.stepper button.lost{flex-grow:0}.stepper button.lost.current{background:var(--coral-dark);color:#fff}.nextstep{display:flex;flex-wrap:wrap;gap:0 1rem;padding:.9rem 1rem 0;margin-bottom:.9rem;border-radius:16px;background:var(--cream)}.nextstep input,.nextstep .datefield>button{background:var(--surface)}.todo{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-top:1px solid var(--line)}.card-head+.todo{border-top:0}.todo-title{flex:1;min-width:120px;border-color:transparent!important;background:none!important;font-weight:600}.todo-title:hover,.todo-title:focus{border-color:var(--line)!important;background:var(--cream-light)!important}.todo.faerdig .tick{background:var(--navy);border-color:var(--navy);color:var(--cream)}.todo.faerdig .todo-title{color:var(--muted);text-decoration:line-through}.todo.i_gang .tick{border-color:var(--coral)}.tick .half{width:10px;height:10px;border-radius:50%;background:var(--coral)}.todo .datefield>button,.todo .select>button{padding:.35rem .5rem;font-size:.85rem}.assignee{display:inline-flex;align-items:center;gap:.35rem}.assignee .select{max-width:8.5rem}.assignee .select>button{border-color:transparent;background:none}.assignee .select>button:hover,.assignee .select.open>button{border-color:var(--line)}.todo.new{margin-top:.3rem}.amount-input{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.moneylist{margin-bottom:.6rem}.linkrow{padding:.6rem 0;border-top:1px solid var(--line)}.card-head+.linkrow{border-top:0;padding-top:0}.linkrow a:hover{text-decoration:underline}.linkrow .amount{width:100%;margin-top:.4rem;text-align:right;font-variant-numeric:tabular-nums}.addlink{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem;padding-top:.9rem;border-top:1px solid var(--line)}@media (max-width: 1100px){.dash{grid-template-columns:repeat(2,minmax(0,1fr))}.detail{grid-template-columns:minmax(0,1fr)}}@media (max-width: 820px){.shell{flex-direction:column}.side{position:static;width:auto;height:auto;flex-direction:row;align-items:center;padding:.6rem 1rem;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}.brand{padding:0 .5rem 0 0}.brand span,.side-link{display:none}.side nav{flex-direction:row}.topbar,.page{padding-left:1rem;padding-right:1rem}.user-text{display:none}.dash{grid-template-columns:minmax(0,1fr)}.span2,.span3{grid-column:auto}.rank-row{grid-template-columns:1.6rem minmax(0,1fr) auto}.rank-bar{grid-column:2 / -1;grid-row:2}.money{grid-template-columns:minmax(0,1fr);gap:1.25rem}.phase-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.todo{flex-wrap:wrap}.hero{padding:1.25rem}.hero h1{font-size:1.6rem}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
