/* YourMove — graphite + hi-vis amber, jobsite grid; Monday-style status colours (11/06/2026) */
:root{--bg:#f2f1ee;--panel:#fff;--ink:#1c2026;--ink2:#545b66;--rule:#dedbd3;--navy:#1c2026;--blue:#2563c9;--hover:#f6f4ef;
 --amber:#f5a524;--amber-ink:#1c2026;--top:#1c2026;--grid:rgba(28,32,38,.045);
 --ns:#c9c6bf;--ns-ink:#26303f;--wo:#f2a516;--wo-ink:#2b1d00;--stuck:#d6334e;--wait:#3f73d9;--done:#0a8f5a;--on:#fff;--over:#c62839;--shadow:0 10px 30px rgba(28,32,38,.16);color-scheme:light;
 --f-display:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#121519;--panel:#1a1e24;--ink:#ecebe7;--ink2:#a3a9b3;--rule:#2b3038;--navy:#f5a524;--blue:#8cb4ff;--hover:#222730;--top:#0c0e11;--grid:rgba(255,255,255,.035);
 --ns:#474d57;--ns-ink:#eef1f6;--over:#ff7b8a;--shadow:0 10px 30px rgba(0,0,0,.5);color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg) linear-gradient(var(--grid) 1px,transparent 1px) 0 0/28px 28px,var(--bg) linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/28px 28px;background-color:var(--bg);color:var(--ink);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;padding-bottom:env(safe-area-inset-bottom)}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--blue)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.muted{color:var(--ink2)}.small{font-size:13px}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
 background:var(--top);color:#fff;border-bottom:3px solid var(--amber);padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));padding-top:max(10px,env(safe-area-inset-top))}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:500 20px/1 var(--f-display);letter-spacing:-.01em}.brand b{font-weight:800;color:var(--amber)}
.who{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.who form{margin:0}
.top .lnk{color:#fff;opacity:.85}
.lnk{background:none;border:0;padding:4px 2px;cursor:pointer;text-decoration:underline;color:var(--blue);min-height:24px}
.viewas select{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:5px 8px;max-width:60vw}
.viewas option{color:#14213a}
.wrap{max-width:1240px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-right)) 40px max(16px,env(safe-area-inset-left))}
.headrow{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
h1{font:800 clamp(24px,3.2vw,34px)/1.1 var(--f-display);letter-spacing:-.02em;margin:0 0 4px;text-wrap:balance}
.primary{background:var(--amber);color:var(--amber-ink);border:0;border-radius:9px;padding:9px 16px;font-weight:600;cursor:pointer;min-height:40px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}
.toolbar select,.search input{background:var(--panel);border:1px solid var(--rule);border-radius:9px;padding:8px 10px;min-height:40px}
.search input{width:min(280px,70vw)}
.chk{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.seg{display:inline-flex;border:1px solid var(--rule);border-radius:9px;overflow:hidden;background:var(--panel)}
.seg button{border:0;background:none;padding:8px 14px;cursor:pointer;min-height:40px}
.seg button[aria-pressed=true]{background:var(--ink);color:var(--panel)}
.group{margin:0 0 26px;--g:#2F6FB2}
.g1{--g:#0a9d62}.g2{--g:#a25ddc}.g3{--g:#e2732b}.g4{--g:#0086c0}.g5{--g:#c2185b}.g6{--g:#5b8def}.g7{--g:#7e8a00}
.ghead{display:flex;gap:10px;align-items:center;font:700 18px/1.2 var(--f-display);margin:0 0 8px;color:var(--ink)}
.ghead::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--g);flex:0 0 12px}
.gcount{font-size:12px;color:var(--ink2);background:var(--panel);border:1px solid var(--rule);border-radius:20px;padding:1px 8px}
.tbl{background:var(--panel);border:1px solid var(--rule);border-left:5px solid var(--g);border-radius:10px;overflow:hidden}
.tr{display:grid;grid-template-columns:minmax(0,1fr) 110px 150px 150px 74px;align-items:center;border-top:1px solid var(--rule);min-height:46px;cursor:pointer}
.tr.th{border-top:0;cursor:default;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);min-height:34px}
.tr:not(.th):hover{background:var(--hover)}
.td{padding:6px 10px;min-width:0;display:flex;align-items:center;gap:6px}
.th .td{justify-content:center}.th .td:first-child{justify-content:flex-start}
.c1,.c2,.c3,.c4{justify-content:center}
.name{flex-wrap:wrap}
.itext{min-width:0;overflow-wrap:anywhere}
.isdone .itext{text-decoration:line-through;color:var(--ink2)}
.pri{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:var(--ns)}.p-high{background:var(--stuck)}.p-medium{background:var(--wo)}
.tag{font-size:12px;background:#fff3cd;color:#5c4400;border-radius:6px;padding:1px 7px}
.fcount{font-size:12px;color:var(--ink2)}
.status{border:0;border-radius:7px;padding:7px 8px;width:100%;max-width:140px;font-size:13px;font-weight:600;cursor:pointer;color:var(--on);min-height:32px}
.st-ns{background:var(--ns);color:var(--ns-ink)}.st-wo{background:var(--wo);color:var(--wo-ink)}.st-stuck{background:var(--stuck)}.st-wait{background:var(--wait)}.st-done{background:var(--done)}
.menu{position:absolute;z-index:30;display:grid;gap:5px;background:var(--panel);border:1px solid var(--rule);border-radius:10px;padding:8px;box-shadow:var(--shadow);width:180px}
.menu .status{max-width:none}
.due{border:1px solid transparent;background:none;border-radius:7px;padding:5px;max-width:140px;min-height:32px}
.due:hover,.due:focus{border-color:var(--rule)}.due.over{color:var(--over);font-weight:600}
.ppl{display:flex}.av{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--amber);font-size:11px;font-weight:700;border:2px solid var(--panel);margin-left:-6px}
.ppl .av:first-child{margin-left:0}
@media (prefers-color-scheme:dark){.av{background:#2b3038}}
.bubble{min-width:34px;min-height:30px;border-radius:15px;border:1px solid var(--rule);background:none;cursor:pointer;color:var(--ink2);font-size:13px}
.bubble::before{content:"💬 "}.bubble.has{border-color:var(--blue);color:var(--blue);font-weight:700}
.empty{color:var(--ink2);padding:18px;list-style:none}
@media (max-width:760px){
 .tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n n" "s d" "p u";row-gap:2px;padding:6px 0}
 .tr.th{display:none}.tr>.td:nth-child(1){grid-area:n}.c1{grid-area:p;justify-content:flex-start!important}.c2{grid-area:s;justify-content:flex-start!important}.c3{grid-area:d}.c4{grid-area:u}
}
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:12px;overflow-x:auto;padding-bottom:10px}
.kcol{background:var(--panel);border:1px solid var(--rule);border-radius:10px;padding:8px;display:grid;gap:8px;align-content:start}
.khead{margin:0;font-size:14px;max-width:none;text-align:center;cursor:default}
.kcard{display:grid;gap:6px;text-align:left;background:var(--bg);border:1px solid var(--rule);border-radius:9px;padding:10px;cursor:pointer}
.kcard:hover{border-color:var(--blue)}.kproj{font-size:12px;color:var(--ink2)}.ktext{font-weight:600;overflow-wrap:anywhere}
.kmeta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--ink2)}.kmeta .over{color:var(--over);font-weight:700}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--panel);box-shadow:var(--shadow);z-index:20;transform:translateX(105%);transition:transform .22s ease;overflow-y:auto;
 padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 30px 18px}
.drawer.open{transform:none}
@media (prefers-reduced-motion:reduce){.drawer{transition:none}}
.scrim{position:fixed;inset:0;background:rgba(10,20,40,.35);z-index:15}
.dhead{display:flex;justify-content:space-between;gap:12px}.dhead h2{margin:2px 0 10px;font-size:20px;overflow-wrap:anywhere}
.dproj{margin:0;color:var(--ink2);font-size:13px}
.x{background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:var(--ink2);min-width:40px;min-height:40px}
.dmeta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.dmeta .status{width:auto}
.share{width:100%}.share summary{cursor:pointer;color:var(--ink2);padding:4px 0}
.sharebox{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:10px 0}
.notes{width:100%;white-space:pre-wrap;background:var(--bg);border-radius:8px;padding:10px;margin:0;font-size:14px;color:var(--ink2)}
.tabs{display:flex;border-bottom:1px solid var(--rule);margin-bottom:14px}
.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:9px 14px;cursor:pointer;color:var(--ink2);min-height:40px}
.tabs button[aria-selected=true]{border-color:var(--amber);color:var(--ink);font-weight:600}
.compose{display:grid;gap:8px;margin-bottom:16px}
textarea,.linkform input,dialog input{width:100%;background:var(--bg);border:1px solid var(--rule);border-radius:9px;padding:10px}
.compose button{justify-self:end}
.thread{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.upd{border:1px solid var(--rule);border-radius:10px;padding:12px}
.uhead{display:flex;gap:8px;align-items:center;font-size:14px}.uhead .av{margin:0}.uhead time{margin-left:auto;color:var(--ink2);font-size:12px}
.ubody{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.dropzone{border:2px dashed var(--rule);border-radius:10px;padding:22px;text-align:center;color:var(--ink2);margin-bottom:10px}.dropzone.on{border-color:var(--blue);background:var(--hover)}
.linkform{display:flex;gap:8px;margin-bottom:14px}.linkform button{border:1px solid var(--rule);background:var(--panel);border-radius:9px;padding:0 14px;cursor:pointer;white-space:nowrap}
.flist,.alist{list-style:none;padding:0;margin:0;display:grid;gap:8px;overflow-wrap:anywhere}.alist li{font-size:14px;color:var(--ink2)}
dialog{border:0;border-radius:14px;padding:22px;width:min(460px,92vw);background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}
dialog::backdrop{background:rgba(10,20,40,.45)}dialog form{display:grid;gap:12px}dialog h2{margin:0}
dialog label,.authbox label{display:grid;gap:5px;font-weight:600;font-size:14px}
.dlgbtns{display:flex;justify-content:flex-end;gap:10px}.dlgbtns button:not(.primary){background:none;border:1px solid var(--rule);border-radius:9px;padding:8px 14px;cursor:pointer}
.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%,150%);background:#1c2026;border-left:4px solid var(--amber);color:#fff;padding:10px 18px;border-radius:10px;transition:transform .2s;z-index:40;max-width:90vw}
.toast.show{transform:translate(-50%,0)}
body.auth{display:grid;place-items:center;min-height:100vh;padding:16px}
.authbox{background:var(--panel);border:1px solid var(--rule);border-radius:14px;padding:28px;width:min(420px,100%);display:grid;gap:12px;box-shadow:var(--shadow)}
.authbox .brand{color:var(--ink);font-size:24px}.authbox .brand b{color:#b26b00}@media (prefers-color-scheme:dark){.authbox .brand b{color:var(--amber)}}.tagline{margin:-4px 0 0;font:600 13px/1.3 var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}.authbox h1{font-size:26px}.authbox form{display:grid;gap:14px}
.authbox input{background:var(--bg);border:1px solid var(--rule);border-radius:9px;padding:11px;font-weight:400}
.err{background:#fde8eb;color:#8a1426;border-radius:8px;padding:10px;margin:0}
.assign{display:inline-flex;align-items:center;gap:6px;background:none;border:1px dashed transparent;border-radius:16px;padding:3px 6px;cursor:pointer;min-height:32px;color:var(--ink2)}
.assign:hover,.assign:focus-visible{border-color:var(--rule)}.assign .plus{font-size:12.5px;white-space:nowrap}
.amenu{width:290px;gap:8px;padding:12px}.amenu .chk{font-size:14px;padding:3px 0}.mhead{margin:0;font-weight:700}.mnote{margin:2px 0 4px;font-size:12px;color:var(--ink2)}
.closeb{flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:2px solid var(--rule);background:var(--panel);color:transparent;font-weight:900;font-size:14px;cursor:pointer;display:inline-grid;place-items:center;padding:0}
.closeb:hover,.closeb:focus-visible{border-color:var(--done);color:var(--done)}.closeb.on{background:var(--done);border-color:var(--done);color:#fff}
.toast .undo{background:none;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:7px;padding:3px 10px;margin-left:8px;cursor:pointer}
.authbox button[type=submit]{background:var(--amber);color:var(--amber-ink);border:0;border-radius:9px;padding:12px;font:700 16px/1 var(--f-display);cursor:pointer;min-height:48px}.authbox button[type=submit]:hover{filter:brightness(.95)}
.name .itext{flex:1 1 0;min-width:12ch}.name{align-items:center}.authbox input{width:100%;box-sizing:border-box}
.toast:not(.show){visibility:hidden}
.tr{grid-template-columns:minmax(0,1fr) 120px 120px 150px 150px 74px}
.av.team{background:var(--panel);color:var(--ink);border:2px solid var(--ink2)}
.roles{display:grid;gap:6px;width:100%;padding:8px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.rolerow{display:flex;align-items:center;gap:12px}.rolelbl{width:96px;font-size:13px;font-weight:700;color:var(--ink2)}.rolenames{font-size:14px}
@media (max-width:760px){
 .tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n n" "s d" "a t" "u u"}
 .c1{grid-area:a;justify-content:flex-start!important}.c2{grid-area:t;justify-content:flex-start!important}.c3{grid-area:s;justify-content:flex-start!important}.c4{grid-area:d}.c5{grid-area:u;justify-content:flex-end!important}
}
.grename{margin-left:auto;background:none;border:1px solid var(--rule);border-radius:8px;font:500 12.5px/1 var(--f-display);color:var(--ink2);padding:6px 10px;cursor:pointer;min-height:28px}
.grename:hover{color:var(--ink);border-color:var(--ink2)}
.dmove{margin:-2px 0 12px}.moveto{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink2)}
.moveto input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--rule);border-radius:8px;padding:7px 9px;font-weight:400;color:var(--ink)}
.movebtn{background:var(--ink);color:var(--panel);border:0;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:700}
.pteam{display:inline-flex;align-items:center;gap:8px;margin-left:10px;background:none;border:1px dashed var(--rule);border-radius:16px;padding:3px 10px 3px 8px;font:500 12.5px/1 var(--f-display);color:var(--ink2);cursor:pointer;min-height:30px}
span.pteam{border:0;cursor:default}.pteam:hover{border-color:var(--ink2)}.ptl{white-space:nowrap}
@media (max-width:760px){.ghead{flex-wrap:wrap}.grename{margin-left:0}}
#dTitle.editable{cursor:text;border-radius:6px;padding:2px 4px;margin-left:-4px}#dTitle.editable:hover{background:var(--hover)}#dTitle.editable:focus{outline:2px solid var(--amber);background:var(--panel)}
.closedline{flex-basis:100%;font-size:12.5px;color:var(--done);font-weight:600;overflow-wrap:anywhere}.dmeta .closedline{flex-basis:100%;background:var(--hover);border-left:3px solid var(--done);padding:8px 10px;border-radius:6px}
.moveto select{flex:1;min-width:0;background:var(--bg);border:1px solid var(--rule);border-radius:8px;padding:7px 9px;font-weight:400;color:var(--ink)}.moveto{flex-wrap:wrap}.movebtn:disabled{opacity:.4;cursor:default}
.gacts{margin-left:auto;display:inline-flex;gap:6px}.gacts .grename{margin-left:0}.pinput{width:100%;background:var(--bg);border:1px solid var(--rule);border-radius:8px;padding:8px 10px;color:var(--ink);font:inherit}.amenu .primary:disabled{opacity:.45;cursor:default}
.udel{margin-left:8px;background:none;border:1px solid var(--rule);border-radius:6px;color:var(--ink2);font-size:12px;padding:3px 8px;cursor:pointer;min-height:24px}.udel:hover{color:var(--over);border-color:var(--over)}
.av.inherited{opacity:.55;border-style:dashed}.plus.mini{font-weight:700;font-size:14px;margin-left:2px}
.origin{flex-basis:100%;font-size:12px;color:var(--ink2);overflow-wrap:anywhere}.originrow{display:flex;align-items:baseline;gap:12px;width:100%}.originrow .origin{flex-basis:auto;font-size:13.5px;color:var(--ink)}
.refresh{font-size:20px;text-decoration:none;min-width:36px;min-height:36px;line-height:1}.refresh.spin{animation:ymspin .6s linear}
@keyframes ymspin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.refresh.spin{animation:none}}
.installhint{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:35;display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--top);color:#fff;border-left:4px solid var(--amber);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);font-size:14px}
.installhint button{background:none;border:0;color:#fff;font-size:22px;min-width:36px;min-height:36px;cursor:pointer}
.keep{font-weight:400!important;display:flex!important;gap:8px;align-items:center}.keep input{width:auto!important}
@media (display-mode: standalone){.top{padding-top:max(12px,env(safe-area-inset-top))}}
.gtoggle{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:4px 2px;font:inherit;color:inherit;cursor:pointer;min-height:36px;text-align:left}
.gtoggle .chev{display:inline-block;width:18px;font-size:14px;color:var(--ink2);transition:transform .15s}
.group.collapsed .gtoggle .chev{transform:rotate(-90deg)}
.group.collapsed{margin-bottom:10px}.group.collapsed .ghead{margin-bottom:0;padding-bottom:6px;border-bottom:1px solid var(--rule)}
@media (prefers-reduced-motion:reduce){.gtoggle .chev{transition:none}}
/* phone: get to the projects faster (11/06/2026) */
@media (max-width:600px){
 .top{gap:8px}.who{gap:10px;font-size:14px}.viewas select{max-width:70vw;padding:4px 6px}
 .wrap{padding-top:12px}h1{font-size:22px}#sub{font-size:12.5px;margin:0}
 .headrow{align-items:center}.primary#newBtn{padding:8px 12px;min-height:38px}
 .toolbar{gap:8px;margin:12px 0}.toolbar .seg button{padding:6px 10px;min-height:36px;font-size:14px}
 .search input{width:100%}.toolbar .search{flex:1 1 100%}.toolbar select{min-height:36px;padding:6px 8px}
 .ghead{font-size:16px}
}
/* My Work · whose move · bell · snooze · progress · overdue grid · two-step close (11/06/2026) */
:root{--ours:#1d6b4a;--ours-bg:#e3f4ec;--theirs:#2a4f9e;--theirs-bg:#e5edfb;--res:#7a4b00;--res-bg:#fff1d6;--snz-bg:#eceae4;--unread:#fff8e8;--badge:#d6334e;--badge-ink:#fff}
@media (prefers-color-scheme:dark){:root{--ours:#7fe0b1;--ours-bg:#173428;--theirs:#a9c4ff;--theirs-bg:#1c2a45;--res:#ffd28a;--res-bg:#3a2a0e;--snz-bg:#272c34;--unread:#262b22;--badge:#ff6b80;--badge-ink:#1a0006}}
.bell{position:relative;background:none;border:0;color:#fff;font-size:18px;min-width:40px;min-height:40px;cursor:pointer;border-radius:8px;line-height:1}
.bell:hover{background:rgba(255,255,255,.08)}
.bcount{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--badge);color:var(--badge-ink);font:700 11px/18px -apple-system,Segoe UI,Arial,sans-serif;text-align:center}
.bellmenu{width:min(360px,calc(100vw - 16px));max-height:70vh;overflow-y:auto}.bellmenu .mhead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.nlist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.nitem{display:grid;gap:3px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:8px;cursor:pointer;color:var(--ink)}
.nitem:hover{background:var(--hover)}.nitem.unread{background:var(--unread);border-color:var(--rule)}.nitem.unread .nline{font-weight:700}
.nline{font-size:14px;overflow-wrap:anywhere}.nquote{font-size:13px;color:var(--ink2);overflow-wrap:anywhere}.ntime{font-size:12px;color:var(--ink2)}
.mv{border:1px dashed var(--rule);background:none;color:var(--ink2);border-radius:12px;padding:2px 9px;font-size:12px;font-weight:600;cursor:pointer;min-height:24px;white-space:nowrap}
.mv-ours{border:1px solid var(--ours);background:var(--ours-bg);color:var(--ours)}.mv-theirs{border:1px solid var(--theirs);background:var(--theirs-bg);color:var(--theirs)}
.mv.still{cursor:default;justify-self:start}.mvopt{width:100%;text-align:left;padding:7px 10px;font-size:13px}
.menu .mv-none{border-style:solid}
.rtag{background:var(--res-bg);color:var(--res)}.stag{background:var(--snz-bg);color:var(--ink2)}
.tbtn{background:var(--panel);border:1px solid var(--rule);border-radius:9px;padding:8px 12px;min-height:40px;cursor:pointer}.tbtn[aria-pressed=true]{background:var(--ink);color:var(--panel)}
.pfbanner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--rule);border-left:4px solid var(--over);border-radius:9px;padding:8px 12px;margin:0 0 14px}
.gprog{display:inline-flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font:500 12.5px/1.2 -apple-system,Segoe UI,Arial,sans-serif;color:var(--ink2)}
.pover{color:var(--over);font-weight:700}
.pbar{display:inline-block;width:64px;height:6px;border-radius:3px;background:var(--rule);overflow:hidden}.pfill{display:block;height:100%;background:var(--done)}
.grename.on{border-color:var(--done);color:var(--done)}
.pfbox{display:grid;gap:6px;width:100%}.pfbox .rolerow{flex-wrap:wrap}
.pseg{display:inline-flex;border:1px solid var(--rule);border-radius:9px;overflow:hidden;background:var(--panel)}
.pseg button{border:0;background:none;padding:8px 14px;cursor:pointer;min-height:40px}.pseg button[aria-pressed=true]{background:var(--ink);color:var(--panel)}
.mvseg button{padding:5px 12px;min-height:32px;font-size:13px}
.snzdate{background:var(--bg);border:1px solid var(--rule);border-radius:8px;padding:6px 8px;color:var(--ink)}
.resline{margin:0;background:var(--res-bg);color:var(--res);border-radius:8px;padding:8px 10px;font-size:13.5px}
.compose{position:relative}
.mlist{list-style:none;margin:-4px 0 0;padding:4px;background:var(--panel);border:1px solid var(--rule);border-radius:9px;box-shadow:var(--shadow);display:grid;gap:2px;max-width:320px}
.mopt{padding:7px 10px;border-radius:6px;cursor:pointer}.mopt.on,.mopt:hover{background:var(--hover);font-weight:600}
.mwbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.mwgroup{margin:0 0 18px}.mwhead{display:flex;align-items:center;gap:10px;font:700 16px/1.2 var(--f-display);margin:0 0 6px}
.mw0 .mwhead{color:var(--over)}
.mwlist{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--rule);border-radius:10px;overflow:hidden}
.mwrow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-top:1px solid var(--rule)}
.mwrow:first-child{border-top:0}
.mwmain{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.mwtext{background:none;border:0;padding:2px 0;text-align:left;font-weight:600;cursor:pointer;color:var(--ink);overflow-wrap:anywhere;min-width:0}
.mwtext:hover{text-decoration:underline}.mwproj{font-size:12px;color:var(--ink2)}
.mwctl{display:flex;align-items:center;gap:6px}.mwctl .status{width:140px}
.gridwrap{overflow-x:auto;background:var(--panel);border:1px solid var(--rule);border-radius:10px;max-width:100%}
.ogrid{border-collapse:collapse;width:100%;font-size:14px}
.ogrid th,.ogrid td{border-top:1px solid var(--rule);padding:6px 10px;text-align:center;white-space:nowrap}
.ogrid thead th{border-top:0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink2);white-space:normal;min-width:90px}
.ogrid th[scope=row]{text-align:left;font-weight:600;position:sticky;left:0;background:var(--panel)}
.ogrid .tot{font-weight:700;border-left:1px solid var(--rule)}.ogrid tr.zero th{color:var(--ink2);font-weight:400}
.gcell{min-width:36px;min-height:32px;border-radius:8px;border:1px solid var(--over);background:none;color:var(--over);font-weight:700;cursor:pointer}
.gcell:hover{background:var(--over);color:var(--panel)}.gzero{color:var(--ink2)}
@media (max-width:600px){
 .mwrow{grid-template-columns:28px minmax(0,1fr);grid-template-areas:"c m" ". k"}.mwrow>.closeb{grid-area:c}.mwmain{grid-area:m}.mwctl{grid-area:k;flex-wrap:wrap}
 .mwctl .status{width:auto;min-width:120px}.bell{min-width:36px;min-height:36px}
 .toolbar .seg{flex-wrap:wrap}.gprog{flex-basis:100%;padding-left:28px}
}
.pfbanner[hidden],.mlist[hidden],.bcount[hidden],#snzBtn[hidden]{display:none}
/* 11/06/2026: checklist controls and look-ahead; inherit light/dark tokens. */
.cx-tools,.cx-actions,.cx-add{display:flex;flex-wrap:wrap;gap:8px}.cx-tools{margin:12px 0}.cx-button{background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-radius:7px;padding:7px 10px;min-height:36px;cursor:pointer;overflow-wrap:anywhere;text-align:left}.cx-button:disabled{opacity:.45;cursor:default}.cx-progress{display:inline-block;margin-left:8px;font-size:12px;color:var(--ink2);white-space:nowrap}.cx-checklist{border-block:1px solid var(--rule);padding:12px 0;margin-bottom:16px}.cx-checklist h3{margin:0}.cx-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 0;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}.cx-line-text{display:flex;align-items:flex-start;gap:8px;flex:1 1 100%;min-width:0}.cx-line-text input{flex:none}.cx-actions{margin-left:auto}.cx-add{margin:12px 0;flex-wrap:nowrap}.cx-add input{min-width:0;flex:1;background:var(--panel);color:var(--ink);border:1px solid var(--rule);padding:8px;border-radius:7px}.cx-add button{flex:none}.cx-required{display:flex!important;align-items:center;gap:8px;margin:10px 0}.cx-required input{width:auto;flex:none}.cx-dialog input,.cx-dialog textarea,.cx-dialog select{width:100%;min-width:0;max-width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--rule);padding:8px;border-radius:7px}.cx-dialog .cx-required input{width:auto}.cx-preview{padding-left:20px;overflow-wrap:anywhere}.cx-week{background:var(--panel);padding:12px 16px;margin:14px 0;border:1px solid var(--rule);border-radius:8px;overflow-wrap:anywhere}.cx-week h3,.cx-week h4{margin:6px 0}.cx-week ul{padding-left:18px}.cx-week li{margin:6px 0}.cx-week .cx-button{max-width:100%}.cx-dialog{max-height:90vh;overflow:auto}
@media print{body.cx-print-view{background:var(--panel);padding:0}.cx-print-view .top,.cx-print-view .headrow,.cx-print-view .toolbar,.cx-print-view .cx-tools,.cx-print-view #board>button,.cx-print-view .drawer,.cx-print-view .scrim,.cx-print-view dialog,.cx-print-view .toast,.cx-print-view .installhint{display:none!important}.cx-print-view .wrap{max-width:none;padding:0}.cx-print-view .cx-week{border:0;padding:0;margin:12px 0}.cx-print-view .cx-week li{break-inside:avoid}.cx-print-view .cx-week h3,.cx-print-view .cx-week h4{break-after:avoid}.cx-print-view .cx-button{border:0;padding:0;min-height:0;background:none}.cx-print-view{color:var(--ink)}}
@media print{body.cx-print-view{--panel:#fff;--ink:#1c2026;--ink2:#545b66;--over:#c62839;color-scheme:light}}
/* 11/06/2026: workflow controls and phone agenda. Existing tokens cover dark mode. */
.c2-workflow{width:100%;min-width:0;border-top:1px solid var(--rule);padding-top:12px}
.c2-workflow h3{margin:12px 0 6px}.c2-workflow button,.c2-forms button,.c2-day button,.c2-daylist button,.c2-calnav button,.c2-card button{background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-radius:6px;padding:7px;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.c2-workflow select,.c2-workflow textarea,.c2-forms input,.c2-forms select{width:100%;max-width:100%;margin:5px 0;background:var(--panel);color:var(--ink);border:1px solid var(--rule);padding:8px}
.c2-kanban{grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}.c2-kanban .kcol{min-width:0}.c2-card{display:flex;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere}.c2-card select{width:100%;min-width:0;background:var(--panel)}.c2-drag{touch-action:none}
.c2-calnav{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}.c2-calnav h2{font-size:18px}.c2-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.c2-day{min-width:0;min-height:100px;background:var(--panel);border:1px solid var(--rule);padding:4px;display:flex;flex-direction:column;gap:4px}.c2-day button{font-size:12px}.c2-day .over,.c2-card .over{color:var(--over)}.c2-daylist button{display:block;margin:5px 0}
.intake{max-width:620px}.intake label{display:block;margin:16px 0}.intake input,.intake textarea{display:block;width:100%;min-width:0;padding:10px;border:1px solid var(--rule);background:var(--panel)}.c2-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.c2-forms{width:min(540px,calc(100vw - 24px));overflow-wrap:anywhere}.c2-forms section{border-top:1px solid var(--rule);margin-top:12px}.toolbar select{max-width:100%}
@media(max-width:650px){.c2-kanban{display:flex;flex-direction:column}.c2-calendar{display:flex;flex-direction:column}.c2-blank,.c2-noitems{display:none}.c2-day{min-height:0}.c2-day button{font-size:14px;text-align:left}.c2-workflow{overflow-wrap:anywhere}.c2-calnav h2{order:-1;width:100%}}
/* Aria inbox, Settings, update links, outsider page (11/06/2026) */
:root{--ok-bg:#e3f4ec;--ok-ink:#0b5e3c}
@media (prefers-color-scheme:dark){:root{--ok-bg:#12352a;--ok-ink:#8fe0b9}}
.headrow .xinbox{margin-left:auto;background:var(--panel);border:1px solid var(--rule);border-radius:9px;padding:8px 14px;min-height:40px;cursor:pointer;font-weight:600}
.headrow .xinbox.has{border-color:var(--amber);box-shadow:inset 4px 0 0 var(--amber)}
.xdlg{max-height:88vh;overflow:auto}.xdlg.wide{width:min(720px,94vw)}
.xhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.xhead h2{margin:0}
.xlist{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.xcard{display:grid;gap:6px;background:var(--bg);border:1px solid var(--rule);border-radius:10px;padding:12px;min-width:0}.xtext{overflow-wrap:anywhere}
.xacts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.xbtn{background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-radius:9px;padding:8px 14px;min-height:40px;cursor:pointer}
.xbtn:hover,.xbtn:focus-visible{border-color:var(--ink2)}
.xmerge{display:grid;gap:6px}.xmerge .primary:disabled{opacity:.45;cursor:default}
.xdlg label.chk,.xreq label.chk{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:14px}.xdlg label.chk input,.xreq label.chk input{width:auto;flex:0 0 auto;margin-top:3px}
.xfs{border:1px solid var(--rule);border-radius:10px;padding:10px 12px;margin:0 0 12px;display:grid;gap:6px;min-width:0}.xfs legend{font-weight:700;padding:0 4px}
.xcopy{display:flex;gap:8px;min-width:0}.xcopy input{flex:1 1 auto;min-width:0;background:var(--bg);border:1px solid var(--rule);border-radius:9px;padding:8px;color:var(--ink);font:13px/1.3 ui-monospace,monospace}
.xhelp{margin:4px 0;padding-left:18px;color:var(--ink2)}
.xreq{display:grid;gap:8px;width:100%;padding:8px 0;border-bottom:1px solid var(--rule)}.xreq>.xbtn{justify-self:start}
.xform2{display:grid;gap:8px}.xform2 input:not([type=checkbox]){width:100%;background:var(--bg);border:1px solid var(--rule);border-radius:9px;padding:9px;color:var(--ink)}
.xlinks{list-style:none;margin:0;padding:0;display:grid;gap:4px;color:var(--ink2)}.xlinks li{overflow-wrap:anywhere}.xlinks .lnk{margin-left:8px}
.xpage h1{font-size:22px;overflow-wrap:anywhere}.xpage h2{font:700 16px/1.2 var(--f-display);margin:0}
.xform{display:grid;gap:10px;border-top:1px solid var(--rule);padding-top:12px}
.xpage textarea,.xpage input[type=date]{width:100%;background:var(--bg);border:1px solid var(--rule);border-radius:9px;padding:10px;color:var(--ink)}
.xpage button[type=submit]{background:var(--amber);color:var(--amber-ink);border:0;border-radius:9px;padding:12px;font:700 15px/1 var(--f-display);cursor:pointer;min-height:46px}
.xpage button.xalt{background:var(--panel);color:var(--ink);border:1px solid var(--rule)}
.xrow{display:flex;gap:8px;flex-wrap:wrap}.xrow button{flex:1 1 140px}
.xok{background:var(--ok-bg);color:var(--ok-ink);border-radius:8px;padding:10px;margin:0}
.xthread{list-style:none;margin:0;padding:0;display:grid;gap:8px}.xthread li{background:var(--bg);border-radius:8px;padding:8px 10px}.xthread p{margin:4px 0 0;overflow-wrap:anywhere}
@media (max-width:600px){.headrow .xinbox{margin-left:0}.xcopy{flex-wrap:wrap}.xcopy .primary{flex:1 1 100%}}
/* integration 11/06/2026: second toolbar row */
.tools2{margin-top:-6px}.tools2 .chk{display:flex;gap:6px;align-items:center;min-height:36px}.tools2 .chk input{width:auto}
/* integration 11/06/2026: contrast fixes found by axe (faded project-team avatars, Done column heading) */
.av.team.inherited{opacity:1;color:var(--ink2);border-style:dashed}.khead.st-done{background:#087a4d;color:#fff}
.installhint[hidden]{display:none}   /* the hint was always showing: display:flex beat the hidden attribute (found in integration 11/06/2026) */
.tmenu summary{list-style:none;cursor:pointer;display:inline-block}.tmenu summary::-webkit-details-marker{display:none}.tmenu summary::after{content:' ▾'}.tmenu[open]{flex:1 1 100%}.tmenu[open] summary::after{content:' ▴'}.tmenubody{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

/* Aria sync line (admin) 11/07/2026 */
.ymsync{margin:2px 0 0;font-size:13px;color:var(--ink2)}.ymsync strong{color:var(--ink)}
.ymsync-warn{color:var(--over)}.ymsync-w{font-weight:700}.ymsync-c{display:block}
/* Project facts (11/07/2026): type chip, areas, budget + schedule by scope */
:root{--pp-res:#e6f3ea;--pp-res-i:#155a32;--pp-ind:#e5ecf7;--pp-ind-i:#1f3f73;--pp-mfg:#f7ecdc;--pp-mfg-i:#6b4100;--pp-com:#efe6f7;--pp-com-i:#55287a;--pp-err:#b3261e}
@media (prefers-color-scheme:dark){:root{--pp-res:#173428;--pp-res-i:#a8e6c0;--pp-ind:#1c2a45;--pp-ind-i:#bcd2fa;--pp-mfg:#3a2a12;--pp-mfg-i:#f5d39a;--pp-com:#2e2340;--pp-com-i:#dcc6f5;--pp-err:#ff8a80}}
.pptype{display:inline-block;font-size:12px;font-weight:600;line-height:1;padding:5px 8px;border-radius:999px;margin-left:8px;vertical-align:middle;letter-spacing:.02em}
.pp-residential{background:var(--pp-res);color:var(--pp-res-i)}.pp-industrial{background:var(--pp-ind);color:var(--pp-ind-i)}
.pp-manufacturing{background:var(--pp-mfg);color:var(--pp-mfg-i)}.pp-commercial{background:var(--pp-com);color:var(--pp-com-i)}
.pp{display:flex;flex-direction:column;gap:12px;min-width:0}
.pp-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.pp-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.pp-l{font-size:12px;font-weight:600;color:var(--ink2);letter-spacing:.02em}
.pp-hint{font-size:12px;color:var(--ink2);margin:0}
.pp input,.pp select{width:100%;min-width:0;box-sizing:border-box;background:var(--bg);color:var(--ink);border:1px solid var(--rule);padding:8px;border-radius:7px;font:inherit}
.pp input:disabled,.pp select:disabled{opacity:1;background:transparent;border-color:transparent;padding-left:0;color:var(--ink)}
.pp-scroll{overflow-x:auto;max-width:100%}
.pp-tbl{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}
.pp-tbl th,.pp-tbl td{border-bottom:1px solid var(--rule);padding:6px 6px;text-align:left;vertical-align:middle}
.pp-tbl thead th{font-size:12px;color:var(--ink2);font-weight:600}
.pp-tbl tbody th{font-weight:600;white-space:nowrap}
.pp-tbl td:nth-child(2) input{text-align:right}
.pp-total th,.pp-total td{font-weight:700;border-bottom:0}
.pp-total td:nth-child(2){text-align:right;padding-right:14px}
.pp-err{color:var(--pp-err);font-size:13px;margin:0;min-height:0}
.pp-err:empty{display:none}
@media (max-width:560px){.pp-tbl{min-width:0}.pp-tbl thead{display:none}.pp-tbl tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;padding:10px 0;border-bottom:1px solid var(--rule)}
.pp-tbl th,.pp-tbl td{border:0;padding:0}.pp-tbl tbody th{grid-column:1/-1}.pp-tbl td:nth-child(2){grid-column:1/-1}
.pp-tbl td::before{content:attr(data-l);display:block;font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:2px}
.pp-total td:nth-child(2){text-align:left;padding-right:0}.pp-total{border-bottom:0!important}}
.pp-dlg{width:min(720px,calc(100vw - 32px))}.pp-dlg h2{margin:0 0 12px}.pp-dlg .cx-actions{justify-content:flex-end;margin-top:12px}.pp-save{background:var(--navy);color:var(--bg);border-color:var(--navy)}
