html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}
/* Parce shell: white header with a Katapix-yellow rule, cool grey page, white cards, violet accent. Board of stage columns; editor opens as a side sheet. */
:root{
  --jam:#7b68ee; --purple:#5b4bd6; --ink:#1f2430; --berry:#e5484d; --orange:#F7941D; --sun:#F9B510; --mint:#1f8a55; --mist:#f7f8fa;
  --logo:url("data:image/png;base64,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");
  --bg:var(--mist); --panel:#ffffff; --panel2:#fafafb; --border:#e6e8ec; --text:var(--ink); --muted:#7c828d; --h2:var(--purple);
  --accent-weak:#efecff; --accent-line:rgba(123,104,238,.45); --ok:#1f8a55; --ok-weak:#e3f4ea; --warn:#a16207; --bad:#c8333a; --bad-weak:#fde8e8;
  --sun-weak:#fff3b0; --header:#ffffff; --header-text:var(--ink); --check:#eceef1; --hover:#f2f3f5; --logo-filter:none;
  --shadow:0 1px 2px rgba(31,36,48,.04), 0 2px 8px rgba(31,36,48,.04);
  --radius:10px;
  --ui:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#15171c; --panel:#1d2027; --panel2:#191c22; --border:#2d313b; --text:#e4e6eb; --muted:#959ba7; --h2:#b8adf7; --jam:#8f80f7;
    --accent-weak:#2b2650; --sun-weak:#57480f; --header:#1d2027; --header-text:#e4e6eb; --ok:#4cc38a; --ok-weak:#163323; --warn:#f5d90a; --bad:#f2868a; --bad-weak:#3d1c1e;
    --check:#2a2e38; --hover:#272b34; --logo-filter:invert(1) hue-rotate(180deg) brightness(1.05);
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.25); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#15171c; --panel:#1d2027; --panel2:#191c22; --border:#2d313b; --text:#e4e6eb; --muted:#959ba7; --h2:#b8adf7; --jam:#8f80f7;
  --accent-weak:#2b2650; --sun-weak:#57480f; --header:#1d2027; --header-text:#e4e6eb; --ok:#4cc38a; --ok-weak:#163323; --warn:#f5d90a; --bad:#f2868a; --bad-weak:#3d1c1e;
  --check:#2a2e38; --hover:#272b34; --logo-filter:invert(1) hue-rotate(180deg) brightness(1.05);
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.25); color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
body{background:var(--bg);color:var(--text);font:14px/1.45 var(--ui);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--header)}
::selection{background:rgba(123,104,238,.2)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px rgba(123,104,238,.25)}

.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--header);color:var(--header-text);border-bottom:1px solid var(--border)}
header.top::after{content:"";position:absolute;left:0;bottom:-1px;width:120px;height:2px;background:var(--sun)}
.top-inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-block:9px 11px;min-height:56px;max-width:1500px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;margin-right:auto}
.brand .kp{height:22px;aspect-ratio:388/90;background:var(--logo) left center/contain no-repeat;filter:var(--logo-filter)}
.brand .div{width:1px;height:18px;background:var(--border)}
.brand h1{font-size:15px;font-weight:600;margin:0}
.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.search{min-width:0;width:240px;max-width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel2)}
select.f{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel2)}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel2)}
.seg button{border:0;background:none;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--muted)}
.seg button + button{border-left:1px solid var(--border)}
.seg button[aria-pressed="true"]{background:var(--accent-weak);color:var(--jam)}
.btn{font-weight:500;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:6px 12px;white-space:nowrap;font-size:13.5px;transition:border-color .15s,background .15s}
.btn:hover{border-color:var(--accent-line);color:var(--jam)}
.btn.primary{background:var(--jam);border-color:var(--jam);color:#fff;font-weight:600}
.btn.primary:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.btn.danger{color:var(--bad)}
.btn.danger:hover{border-color:var(--bad);color:var(--bad)}
.btn.danger-solid{background:var(--berry);border-color:var(--berry);color:#fff;font-weight:600}
.btn:disabled{opacity:.45;pointer-events:none}
.btn.icon{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.btn.icon svg{width:16px;height:16px;fill:currentColor}

main{max-width:1500px;margin:0 auto;padding-block:22px 60px;display:grid;gap:16px}
.page-title{font-size:clamp(24px,4vw,32px);font-weight:700;letter-spacing:-.02em;margin:0}
.summary{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;margin-top:6px}
.stat{display:flex;align-items:baseline;gap:6px;color:var(--muted);font-size:12.5px}
.stat b{font:500 18px var(--mono);font-variant-numeric:tabular-nums;color:var(--text)}
.stat.alert b{color:var(--bad)}
.note{color:var(--muted);font-size:12.5px;max-width:70ch}
.banner{background:var(--sun-weak);border:1px solid var(--sun);border-radius:10px;padding:9px 12px;font-size:13px}

/* Board */
.board-scroll{overflow-x:auto;padding-bottom:8px}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:14px;min-width:min-content;align-items:start}
.col{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:10px;min-height:120px}
.col::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--bc,var(--jam))}
.col-head{display:flex;justify-content:space-between;align-items:baseline}
.col-head h2{margin:0;font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--h2);font-weight:700}
.col-head span{font:500 11.5px var(--mono);color:var(--muted)}
.col-empty{color:var(--muted);font-size:12.5px;padding:12px;border:1.5px dashed var(--border);border-radius:10px;text-align:center}
.card{text-align:left;border:1px solid var(--border);border-radius:10px;padding:10px 11px 9px;background:var(--panel2);display:grid;gap:5px;transition:border-color .15s}
.card:hover{border-color:var(--jam);background:var(--accent-weak)}
.card .name{font-weight:700;font-size:14.5px}
.card .sig{color:var(--muted);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.chip{font:600 11px var(--mono);padding:2px 8px;border-radius:99px;background:var(--check);color:var(--muted)}
.chip.client{background:var(--accent-weak);color:var(--jam)}
.chip.due{background:var(--sun-weak);color:var(--warn)}
.chip.over{background:var(--bad-weak);color:var(--bad)}

/* Table */
.table-scroll{overflow-x:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse;min-width:820px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--h2);font-weight:700;background:var(--panel2)}
tr.row{cursor:pointer}
tr.row:hover td{background:var(--hover)}
td.mono{font:12.5px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}

.empty{background:var(--panel);border:1.5px dashed var(--border);border-radius:var(--radius);padding:28px;display:grid;gap:10px;justify-items:start}
.empty h2{margin:0;font-size:18px;font-weight:700}

/* Sheet */
.scrim{position:fixed;inset:0;background:rgba(21,23,28,.55);z-index:20}
.sheet{position:fixed;top:0;right:0;bottom:0;width:min(540px,100%);background:var(--panel);z-index:21;display:flex;flex-direction:column;box-shadow:var(--shadow);border-left:1px solid var(--border);
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
.sheet-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border)}
.sheet-head::after{content:"";position:absolute;left:0;bottom:-1px;width:80px;height:2px;background:var(--sun)}
.sheet-head h2{margin:0;font-size:18px;font-weight:700;text-wrap:balance;min-width:0}
.sheet-body{overflow-y:auto;padding:16px 18px;display:grid;gap:12px}
.sheet-foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--border)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:480px){.grid2{grid-template-columns:1fr}}
label.fld{display:grid;gap:4px;min-width:0}
label.fld > span{font-size:12px;font-weight:600;color:var(--muted)}
label.fld input,label.fld select,label.fld textarea{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--panel2)}
label.fld textarea{min-height:80px;resize:vertical;font-size:13px}
.log{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:12px}
.log-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--h2);font-weight:700}
.log-row{display:flex;gap:8px;flex-wrap:wrap}
.log-row input{flex:1 1 200px;min-width:0;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--panel2)}
.hist{display:grid;gap:6px;font-size:13px}
.hist div{display:grid;grid-template-columns:80px 1fr;gap:8px}
.hist time{font:12px var(--mono);color:var(--muted)}
.people{display:grid;gap:8px}
.person{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--panel2);display:grid;gap:4px;font-size:13px}
.pmeta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.mail{font:12px var(--mono);user-select:all;word-break:break-all}
.person a{color:var(--jam)}
.ap-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.roles{display:flex;flex-wrap:wrap;gap:6px}
.role{border:1px solid var(--border);background:var(--panel);border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--muted)}
.role[aria-pressed="true"]{background:var(--accent-weak);border-color:var(--accent-line);color:var(--jam)}
.btn.small{padding:3px 9px;font-size:12px}
.person.co{cursor:pointer}
.person.dup{opacity:.7;cursor:default}
.corow{display:flex;align-items:center;gap:8px}
.corow input{accent-color:var(--jam);width:16px;height:16px}
.chip.won{background:var(--ok-weak);color:var(--ok)}
.confirm{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:#eef0f4;padding:9px 16px;border-radius:8px;font-size:13px;z-index:30;box-shadow:0 4px 16px rgba(31,36,48,.3);border-bottom:2px solid var(--jam)}
@media (prefers-reduced-motion: no-preference){.sheet{animation:in .18s ease-out}@keyframes in{from{transform:translateX(24px);opacity:.6}}}
.login{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:40;padding:16px}
.login-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;display:grid;gap:12px;justify-items:center;text-align:center;width:min(380px,100%)}
.login-card h2{margin:0;font-size:20px}
.login-logo{display:block;height:28px;aspect-ratio:388/90;background:var(--logo) center/contain no-repeat;filter:var(--logo-filter)}
#devform{display:flex;gap:8px}
