:root{--c-11223322:#11223322;--c-17342824:#17342824;--c-1734284d:#1734284d;--c-173a3540:#173a3540;--c-173d35:#173d35;--c-173d3533:#173d3533;--c-18352520:#18352520;--c-184c3d:#184c3d;--c-19372a40:#19372a40;--c-193e32:#193e32;--c-20352f:#20352f;--c-224c3a:#224c3a;--c-235d4c:#235d4c;--c-243f30:#243f30;--c-244834:#244834;--c-244c3b:#244c3b;--c-254e41:#254e41;--c-293b2115:#293b2115;--c-294735:#294735;--c-294a39:#294a39;--c-304e27:#304e27;--c-31513c:#31513c;--c-315e47:#315e47;--c-34796b:#34796b;--c-354b37:#354b37;--c-355448:#355448;--c-37503e:#37503e;--c-385139:#385139;--c-396542:#396542;--c-3d6036:#3d6036;--c-3e715b:#3e715b;--c-405041:#405041;--c-405a4a:#405a4a;--c-405e3e:#405e3e;--c-436256:#436256;--c-44623b:#44623b;--c-446257:#446257;--c-455b36:#455b36;--c-466149:#466149;--c-466256:#466256;--c-475d3a:#475d3a;--c-486648:#486648;--c-487d65:#487d65;--c-496251:#496251;--c-4a7241:#4a7241;--c-4c7c47:#4c7c47;--c-4d6840:#4d6840;--c-4f6146:#4f6146;--c-4f947d:#4f947d;--c-506842:#506842;--c-50715a:#50715a;--c-52649a:#52649a;--c-526831:#526831;--c-527247:#527247;--c-556d3f:#556d3f;--c-56634326:#56634326;--c-56743f:#56743f;--c-597868:#597868;--c-5c501c:#5c501c;--c-5d6d5d:#5d6d5d;--c-5e7051:#5e7051;--c-5f7f67:#5f7f67;--c-606f61:#606f61;--c-607752:#607752;--c-607e6855:#607e6855;--c-616e5d:#616e5d;--c-617556:#617556;--c-627850:#627850;--c-633b17:#633b17;--c-647156:#647156;--c-657759:#657759;--c-666e5e:#666e5e;--c-667559:#667559;--c-66765b:#66765b;--c-676b60:#676b60;--c-677462:#677462;--c-67746d:#67746d;--c-67755e:#67755e;--c-677563:#677563;--c-677658:#677658;--c-67765f:#67765f;--c-68745e:#68745e;--c-687469:#687469;--c-68755c:#68755c;--c-687561:#687561;--c-687569:#687569;--c-68765a:#68765a;--c-68765d:#68765d;--c-69755b:#69755b;--c-69755f:#69755f;--c-697560:#697560;--c-697561:#697561;--c-697563:#697563;--c-69765e:#69765e;--c-69775d:#69775d;--c-69775e:#69775e;--c-6a7463:#6a7463;--c-6a7464:#6a7464;--c-6a746c:#6a746c;--c-6a7a6f:#6a7a6f;--c-6b726c:#6b726c;--c-6b7560:#6b7560;--c-6b7664:#6b7664;--c-6b775e:#6b775e;--c-6c603c:#6c603c;--c-6c7760:#6c7760;--c-6d7462:#6d7462;--c-6e7462:#6e7462;--c-726099:#726099;--c-73966c:#73966c;--c-74976b:#74976b;--c-74a466:#74a466;--c-75568d:#75568d;--c-756087:#756087;--c-769783:#769783;--c-76a685:#76a685;--c-776d4c:#776d4c;--c-789364:#789364;--c-7b8675:#7b8675;--c-7b9a54:#7b9a54;--c-7eaa75:#7eaa75;--c-806826:#806826;--c-83aa87:#83aa87;--c-866325:#866325;--c-866f40:#866f40;--c-876e43:#876e43;--c-896c3c:#896c3c;--c-896d30:#896d30;--c-896e39:#896e39;--c-89967d:#89967d;--c-8a6b2d:#8a6b2d;--c-8a6d2e:#8a6d2e;--c-8a7034:#8a7034;--c-8baa79:#8baa79;--c-8d6c20:#8d6c20;--c-8e6611:#8e6611;--c-8e6b28:#8e6b28;--c-8eaa9c:#8eaa9c;--c-8f581f:#8f581f;--c-8f6e28:#8f6e28;--c-916a19:#916a19;--c-92a27d:#92a27d;--c-94b29f:#94b29f;--c-95671e:#95671e;--c-966421:#966421;--c-976633:#976633;--c-996715:#996715;--c-9ba692:#9ba692;--c-9bac8744:#9bac8744;--c-9bb086:#9bb086;--c-9bb473:#9bb473;--c-9bb784:#9bb784;--c-9ea48a09:#9ea48a09;--c-a04433:#a04433;--c-a04b3d:#a04b3d;--c-a0a789:#a0a789;--c-a15845:#a15845;--c-a15e30:#a15e30;--c-a35147:#a35147;--c-a4b694:#a4b694;--c-a5ba8d:#a5ba8d;--c-a65f3e:#a65f3e;--c-a8bea3:#a8bea3;--c-a9c293:#a9c293;--c-aa5d3c:#aa5d3c;--c-ad88cc18:#ad88cc18;--c-adbfad:#adbfad;--c-aec594:#aec594;--c-b34b4b:#b34b4b;--c-b5cbb4:#b5cbb4;--c-b6c7a5:#b6c7a5;--c-b6cc99:#b6cc99;--c-b6cca7:#b6cca7;--c-b7c99c:#b7c99c;--c-b7cec0:#b7cec0;--c-b8c9a1:#b8c9a1;--c-b99b57:#b99b57;--c-b9c9bd:#b9c9bd;--c-b9cbb5:#b9cbb5;--c-b9d899:#b9d899;--c-ba844333:#ba844333;--c-bac5b1:#bac5b1;--c-bac9b0:#bac9b0;--c-bb704113:#bb704113;--c-bc8e42:#bc8e42;--c-bcd1c6:#bcd1c6;--c-bd9550:#bd9550;--c-bda56c:#bda56c;--c-bf984e:#bf984e;--c-c19d55:#c19d55;--c-c3cbc1:#c3cbc1;--c-c3cebc:#c3cebc;--c-c4a15b:#c4a15b;--c-c58a29:#c58a29;--c-c5d8bd:#c5d8bd;--c-c6cec0:#c6cec0;--c-c7ceca:#c7ceca;--c-c7d0be:#c7d0be;--c-c8b8db:#c8b8db;--c-c9a259:#c9a259;--c-c9dab4:#c9dab4;--c-ca9d4f:#ca9d4f;--c-cad8bd:#cad8bd;--c-cbdccd:#cbdccd;--c-cc8a6e:#cc8a6e;--c-cda55e:#cda55e;--c-ce8c75:#ce8c75;--c-d1a35c:#d1a35c;--c-d1b47c:#d1b47c;--c-d2e1d3:#d2e1d3;--c-d4dace:#d4dace;--c-d6e0cd:#d6e0cd;--c-d6e4cf:#d6e4cf;--c-d8c18a:#d8c18a;--c-dbe2d7:#dbe2d7;--c-dce0db:#dce0db;--c-dce3d7:#dce3d7;--c-dce3db:#dce3db;--c-dce4ce:#dce4ce;--c-dce5d5:#dce5d5;--c-dce8dd:#dce8dd;--c-dcebdd:#dcebdd;--c-ddbf85:#ddbf85;--c-dfe6d8:#dfe6d8;--c-dfe7d8:#dfe7d8;--c-dfe7d9:#dfe7d9;--c-dfebc8:#dfebc8;--c-dfebd4:#dfebd4;--c-dfecd4:#dfecd4;--c-e1e7dc:#e1e7dc;--c-e1e8d9:#e1e8d9;--c-e2e5e3:#e2e5e3;--c-e3e8e1:#e3e8e1;--c-e3eacb:#e3eacb;--c-e4b351:#e4b351;--c-e4dfee:#e4dfee;--c-e4e9d9:#e4e9d9;--c-e4efdf:#e4efdf;--c-e5eadd:#e5eadd;--c-e5ebe2:#e5ebe2;--c-e5eccf:#e5eccf;--c-e6dfcb:#e6dfcb;--c-e6eeda:#e6eeda;--c-e7ebe3:#e7ebe3;--c-e7eee7:#e7eee7;--c-e7f1eb:#e7f1eb;--c-e8c884:#e8c884;--c-e9ece5:#e9ece5;--c-e9eee3:#e9eee3;--c-e9eee4:#e9eee4;--c-e9eee6:#e9eee6;--c-e9f1e2:#e9f1e2;--c-e9f2e5:#e9f2e5;--c-e9f3ea:#e9f3ea;--c-eaf0df:#eaf0df;--c-eaf0e2:#eaf0e2;--c-eaf0e3:#eaf0e3;--c-eaf6e8:#eaf6e8;--c-ebeeea:#ebeeea;--c-ecd7b4:#ecd7b4;--c-ece0c3:#ece0c3;--c-eceee9:#eceee9;--c-ecf0e7:#ecf0e7;--c-ecf0e8:#ecf0e8;--c-edc2be:#edc2be;--c-edc7be:#edc7be;--c-edf0e5:#edf0e5;--c-edf0e8:#edf0e8;--c-edf0e9:#edf0e9;--c-edf1e7:#edf1e7;--c-edf3e7:#edf3e7;--c-edf5e9:#edf5e9;--c-eed5b2:#eed5b2;--c-eeedf9:#eeedf9;--c-eef0ef:#eef0ef;--c-eef1e9:#eef1e9;--c-eef1fb:#eef1fb;--c-efb07c:#efb07c;--c-efc4b1:#efc4b1;--c-eff5e9:#eff5e9;--c-f0f3eb:#f0f3eb;--c-f0f3ed:#f0f3ed;--c-f0f4ef:#f0f4ef;--c-f1dda9:#f1dda9;--c-f1f5e9:#f1f5e9;--c-f1f5eb:#f1f5eb;--c-f1f5ed:#f1f5ed;--c-f2d2b9:#f2d2b9;--c-f2f5ed:#f2f5ed;--c-f2f6ec:#f2f6ec;--c-f2f6ee:#f2f6ee;--c-f3f6ee:#f3f6ee;--c-f3f7e8:#f3f7e8;--c-f4f1fa:#f4f1fa;--c-f4f7ef:#f4f7ef;--c-f5f0fa:#f5f0fa;--c-f5f1df:#f5f1df;--c-f5f8ef:#f5f8ef;--c-f6f7f5:#f6f7f5;--c-f7deca:#f7deca;--c-f7ea87:#f7ea87;--c-f7f9f3:#f7f9f3;--c-f7f9f4:#f7f9f4;--c-f7faf3:#f7faf3;--c-f7faf4:#f7faf4;--c-f8ecc5:#f8ecc5;--c-f8faf5:#f8faf5;--c-f8faf6:#f8faf6;--c-f8fbf1:#f8fbf1;--c-f9ebea:#f9ebea;--c-f9faf8:#f9faf8;--c-f9fbf7:#f9fbf7;--c-faf0d3:#faf0d3;--c-fafbf8:#fafbf8;--c-fbede7:#fbede7;--c-fbfcf9:#fbfcf9;--c-fcf9ee:#fcf9ee;--c-fff0c7:#fff0c7;--c-fff0e7:#fff0e7;--c-fff0ed:#fff0ed;--c-fff1e9:#fff1e9;--c-fff2e2:#fff2e2;--c-fff3df:#fff3df;--c-fff4d6:#fff4d6;--c-fff5e2:#fff5e2;--c-fff6df:#fff6df;--c-fff7e6:#fff7e6;--c-fff8e7:#fff8e7;--c-fff9ea:#fff9ea;--c-fff9eb:#fff9eb;--c-fff9ed:#fff9ed;--c-ffffff:#ffffff;--c-ffffff99:#ffffff99}
:root{--font:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,Roboto,'Helvetica Neue',Arial,sans-serif;--bg:var(--c-f6f7f5);--paper:var(--c-ffffff);--ink:var(--c-20352f);--muted:var(--c-67746d);--line:var(--c-e3e8e1);--green:var(--c-235d4c);--pencil:var(--c-996715);--red:var(--c-b34b4b);--sidebar:216px;--gutter:286px;--day:44px;font-family:var(--font);font-size:13px;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--c-4f947d);outline-offset:3px}button{color:inherit}button svg{pointer-events:none}svg.icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-1px;font-weight:650}h2{font-size:20px;letter-spacing:-.5px}h3{font-size:14px}small,.small{font-size:11px}button,input,select,textarea{border-radius:0}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:9px}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:5px}.grow{flex:1;min-width:0}.boot{padding:80px;text-align:center;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;padding:8px 13px;border:1px solid var(--c-dce3db);background:var(--c-ffffff);font-weight:550;white-space:nowrap}.btn:hover{background:var(--c-f0f4ef);border-color:var(--c-b9c9bd)}.btn.primary{background:var(--green);color:var(--c-ffffff);border-color:var(--green)}.btn.primary:hover{background:var(--c-184c3d)}.btn.danger{color:var(--red)}.btn.quiet{background:transparent;border-color:transparent}.btn.small{padding:5px 9px;min-height:29px;font-size:11px}.iconbtn{padding:7px;min-width:34px}.linkbtn{border:0;padding:0;background:none;color:var(--green);text-align:left;text-decoration:underline;text-underline-offset:3px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:650;text-transform:uppercase}.tag{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:0;font-size:11px;padding:3px 6px;white-space:nowrap;font-weight:550;background:var(--c-f9faf8)}.tag.confirmed{background:var(--c-e9f3ea);color:var(--c-396542);border-color:var(--c-cbdccd)}.tag.pencilled{background:var(--c-fff7e6);color:var(--c-95671e);border:1px dashed var(--c-ca9d4f)}.tag.tender{background:var(--c-fff1e9);color:var(--c-a15e30);border-color:var(--c-f2d2b9)}.tag.awarded{background:var(--c-eeedf9);color:var(--c-726099)}.tag.active{background:var(--c-e7f1eb);color:var(--c-3e715b)}.tag.error{background:var(--c-f9ebea);color:var(--red);border-color:var(--c-edc2be)}.tag.warning{background:var(--c-fff5e2);color:var(--c-916a19);border-color:var(--c-ecd7b4)}.tag.complete{color:var(--c-6b726c)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.avatar{width:31px;height:31px;border-radius:50%;background:var(--c-e7eee7);color:var(--c-50715a);display:inline-flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.1px;font-weight:650;flex-shrink:0}.avatar.square{border-radius:0;background:var(--c-e5ebe2)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--c-173d35);color:var(--c-bcd1c6);display:flex;flex-direction:column;padding:27px 16px 20px;z-index:30}.brand{color:var(--c-ffffff);display:flex;gap:10px;align-items:center;padding:0 12px;font-size:25px;letter-spacing:-1.2px;font-weight:640}.brandmark{display:flex;gap:3px;align-items:flex-end;height:24px}.brandmark i{width:5px;background:var(--c-b6cc99);border-radius:0;transform:skewY(-15deg)}.brandmark i:nth-child(1){height:15px}.brandmark i:nth-child(2){height:24px}.brandmark i:nth-child(3){height:19px}.workspace{margin:29px 3px 23px;padding:11px;border:1px solid var(--c-466256);border-radius:0;display:flex;align-items:center;gap:9px;color:var(--c-dce8dd);font-size:11px}.workspace .avatar{background:var(--c-436256);color:var(--c-e9f2e5);width:28px;height:28px;border-radius:0}.sidebar .eyebrow{font-size:11px;color:var(--c-8eaa9c);margin:0 12px 10px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{width:100%;background:none;border:0;color:var(--c-b7cec0);padding:11px 12px;display:flex;align-items:center;gap:11px;text-align:left;font-size:12px}.nav button:hover{background:var(--c-254e41);color:var(--c-ffffff)}.nav button.on{background:var(--c-dfebc8);color:var(--c-294735);font-weight:650}.nav .count{margin-left:auto;font-size:11px;padding:2px 5px;background:var(--c-ba844333);color:var(--c-876e43);border-radius:0}.nav .on .count{color:var(--c-385139);background:var(--c-c9dab4)}.side-bottom{margin-top:auto;display:flex;flex-direction:column;gap:14px}.side-note{border:1px solid var(--c-496251);border-radius:0;margin:20px 3px 2px;padding:12px;color:var(--c-adbfad);font-size:11px;line-height:1.65}.side-note strong{display:block;color:var(--c-e3eacb);font-size:12px;margin-bottom:3px}.profile{border-top:1px solid var(--c-355448);padding:17px 9px 0;display:flex;gap:9px;align-items:center}.profile .avatar{background:var(--c-b8c9a1);color:var(--c-294a39)}.profile strong{color:var(--c-ecf0e8);font-size:11px}.profile small{font-size:11px}.profile button{color:var(--c-d2e1d3);background:none;border:0;padding:5px}
.shell{margin-left:var(--sidebar);min-width:0}.topbar{height:65px;border-bottom:1px solid var(--line);background:var(--c-ffffff);display:flex;align-items:center;gap:13px;padding:0 30px;color:var(--c-6a7a6f);font-size:11px}.topbar strong{color:var(--c-405a4a);font-weight:550}.crumb-slash{color:var(--c-c3cbc1)}.save-state{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--c-597868)}.save-state .dot{color:var(--c-4c7c47)}.topbar .tag{margin-left:7px}.content{padding:27px 30px 18px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}.page-head p{color:var(--muted);font-size:12px;margin-top:8px}.page-actions{display:flex;gap:9px;align-items:center}.demo-banner{background:var(--c-edf0e5);border:1px solid var(--c-dce4ce);border-radius:0;margin-bottom:18px;padding:9px 12px;display:flex;align-items:center;gap:9px;color:var(--c-647156);font-size:11px}.demo-banner strong{color:var(--c-475d3a)}.demo-banner .linkbtn{color:var(--c-556d3f);font-size:11px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:21px}.stat{border:1px solid var(--line);background:var(--c-ffffff);border-radius:0;padding:15px 16px;position:relative;min-height:104px}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--c-687469)}.stat-top svg{width:16px;height:16px;color:var(--c-697563)}.stat-number{display:flex;align-items:baseline;gap:9px;margin-top:10px}.stat-number strong{font-size:27px;font-weight:600;letter-spacing:-.7px;line-height:1}.stat-number span{font-size:11px;color:var(--c-687569)}.stat-line{height:3px;background:var(--c-ecf0e7);margin-top:12px;border-radius:0;overflow:hidden}.stat-line i{height:100%;display:block;background:var(--c-9bb086)}.stat .note{font-size:11px;color:var(--c-896c3c);margin-top:9px}.surface{border:1px solid var(--line);background:var(--c-ffffff);border-radius:0;overflow:hidden}.board-top{padding:15px 17px 13px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs{display:flex;gap:2px;background:var(--c-f0f3ed);padding:3px;border:1px solid var(--c-e5eadd);border-radius:0}.tabs button{border:0;background:none;color:var(--c-6a7463);font-size:11px;padding:6px 11px;font-weight:550}.tabs button.on{background:var(--c-ffffff);color:var(--c-354b37);box-shadow:0 1px 3px var(--c-293b2115)}.period{display:flex;align-items:center;gap:7px}.period strong{min-width:123px;font-size:13px;text-align:center;font-weight:600}.period button{min-height:28px;min-width:28px;padding:5px}.period svg{width:14px;height:14px}.filters{display:flex;align-items:center;gap:8px;padding:12px 17px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search{position:relative;flex:1;max-width:270px;min-width:160px}.search svg{position:absolute;left:9px;top:9px;width:15px;height:15px;color:var(--c-677563)}.search input{width:100%;padding-left:31px;font-size:11px}.filters input,.filters select{height:33px;border:1px solid var(--line);background:var(--c-ffffff);color:var(--c-5d6d5d)}.filters select{padding:0 25px 0 9px;font-size:11px;max-width:180px}.filters .filter-active{background:var(--c-fff2e2);border-color:var(--c-ddbf85);color:var(--c-866325)}.legend{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--c-6a7464);padding:13px 17px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px}.swatch{width:17px;height:8px;border:1px solid var(--c-83aa87);border-radius:0;background:var(--c-dcebdd);display:inline-block}.swatch.pencil{border:1px dashed var(--c-c19d55);background:var(--c-faf0d3)}.swatch.open{border:1px dashed var(--c-c6cec0);background:var(--c-f8faf5)}.swatch.overlap{background:repeating-linear-gradient(135deg,var(--c-fbede7),var(--c-fbede7) 3px,var(--c-efc4b1) 3px,var(--c-efc4b1) 5px);border-color:var(--c-cc8a6e)}
.timeline{overflow:auto;max-height:calc(100vh - 438px);min-height:265px;position:relative;scrollbar-width:thin;scrollbar-color:var(--c-c3cebc) var(--c-f7f9f3)}.timeline-inner{width:calc(var(--gutter) + var(--day)*var(--days));min-width:100%}.timeline-head{display:flex;position:sticky;top:0;z-index:20;height:55px;background:var(--c-f9fbf7);border-bottom:1px solid var(--line)}.timeline-label{position:sticky;left:0;flex:0 0 var(--gutter);z-index:12;background:var(--c-fafbf8);border-right:1px solid var(--line);padding:13px 16px;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;color:var(--c-6b7664);text-transform:uppercase;letter-spacing:.7px}.timeline-days{display:flex}.date-cell{width:var(--day);text-align:center;display:flex;flex-direction:column;justify-content:center;gap:4px;font-variant-numeric:tabular-nums;border-right:1px solid var(--c-e9eee4);font-size:11px;color:var(--c-4f6146)}.date-cell small{font-size:11px;font-weight:500;color:var(--c-9ba692)}.date-cell.weekend{background:var(--c-f0f3eb)}.date-cell.today{background:var(--c-e5eccf);color:var(--c-526831);font-weight:750;box-shadow:inset 0 3px var(--c-7b9a54)}.project-group{display:flex;height:46px;border-bottom:1px solid var(--line);background:var(--c-f8faf5)}.project-label{position:sticky;left:0;z-index:11;width:var(--gutter);flex-shrink:0;padding:9px 13px;background:var(--c-f7f9f4);border-right:1px solid var(--line);display:flex;gap:8px;align-items:center}.project-label button{border:0;background:none;font-size:11px;font-weight:600;padding:0;text-align:left}.project-label small{display:block;font-size:11px;margin-top:3px;color:var(--c-69755f);font-weight:400;white-space:nowrap}.project-label .project-dot{width:4px;height:24px;border-radius:0;flex-shrink:0}.group-info{display:flex;align-items:center;gap:12px;padding-left:14px;font-size:11px;color:var(--c-69755b)}.group-info .tag{font-size:11px}.timeline-row{display:flex;min-height:49px;border-bottom:1px solid var(--c-edf0e9);position:relative}.row-label{position:sticky;left:0;z-index:10;flex:0 0 var(--gutter);border-right:1px solid var(--line);background:var(--c-ffffff);padding:10px 14px;display:flex;gap:9px;align-items:center;min-width:0}.row-label .name{font-size:11px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:215px}.row-label small{font-size:11px;color:var(--c-6e7462);display:block;margin-top:4px}.row-label .role-dot{width:6px;height:6px;border:1px solid var(--c-bac9b0);border-radius:50%;margin:0 6px}.row-label .row-add{display:none;position:absolute;right:6px;top:12px;background:var(--c-ffffff);box-shadow:0 0 8px var(--c-ffffff)}.row-label:hover .row-add,.row-label:focus-within .row-add{display:flex}.track{width:calc(var(--day)*var(--days));flex-shrink:0;position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--day) - 1px),var(--c-edf1e7) calc(var(--day) - 1px),var(--c-edf1e7) var(--day));cursor:crosshair}.weekend-shade{position:absolute;top:0;bottom:0;width:var(--day);background:var(--c-9ea48a09);pointer-events:none}.today-line{position:absolute;top:0;bottom:0;border-left:1px solid var(--c-9bb473);pointer-events:none}.booking{position:absolute;min-width:0;height:28px;border:1px solid var(--c-b5cbb4);border-left:3px solid var(--c-74976b);border-radius:0;background:var(--c-e4efdf);color:var(--c-44623b);text-align:left;display:flex;align-items:center;padding:0 7px;gap:5px;overflow:hidden;white-space:nowrap;font-size:11px;font-weight:550;cursor:pointer;transition:filter .12s,box-shadow .12s}.booking:hover{filter:brightness(.97);box-shadow:0 2px 5px var(--c-56634326);z-index:4}.booking svg{width:11px;height:11px;flex-shrink:0}.booking .booking-text{overflow:hidden;text-overflow:ellipsis}.booking .booking-sub{font-size:11px;margin-left:auto;opacity:.7;padding-left:7px}.booking.pencilled{border:1px dashed var(--c-c9a259);border-left:3px solid var(--c-bf984e);background:var(--c-fff6df);color:var(--c-8a6b2d)}.booking.clash{box-shadow:0 0 0 1px var(--c-ce8c75);background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,var(--c-bb704113) 7px,var(--c-bb704113) 10px)}.booking.cancelled{background:var(--c-eceee9);color:var(--c-666e5e);text-decoration:line-through;border-color:var(--c-d4dace)}.booking.absence{background:repeating-linear-gradient(135deg,var(--c-eef0ef),var(--c-eef0ef) 5px,var(--c-e2e5e3) 5px,var(--c-e2e5e3) 7px);border:1px solid var(--c-c7ceca);color:var(--c-6a746c)}.gap-cell{position:absolute;border:1px dashed var(--c-c7d0be);background:var(--c-f7faf4);border-radius:0;height:22px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--c-6b775e);font-size:11px;min-width:0}.gap-cell:hover{background:var(--c-eaf0e2);color:var(--c-56743f)}.board-footer{padding:11px 17px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:11px;color:var(--c-6b7560)}.bottom-note{display:flex;gap:20px;margin:16px 0 0;align-items:flex-start;color:var(--c-6d7462);font-size:11px;line-height:1.8}.bottom-note strong{color:var(--c-5e7051);font-weight:550}.attention-strip{display:flex;gap:10px;align-items:center;padding:11px 15px;margin:15px 0 0;background:var(--c-fff9ed);border:1px solid var(--c-ece0c3);border-radius:0;color:var(--c-896e39);font-size:11px}.attention-strip svg{width:16px;height:16px}.attention-strip .linkbtn{font-size:11px;color:var(--c-896d30);margin-left:auto;white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.project-card{background:var(--c-ffffff);border:1px solid var(--line);border-radius:0;padding:19px}.project-card h3{font-size:16px;margin:18px 0 6px;font-weight:600;letter-spacing:-.3px}.project-card p{font-size:11px;color:var(--muted)}.project-card .card-metrics{display:flex;gap:25px;margin:23px 0 18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card-metrics strong{font-size:19px;font-weight:550;display:block;margin-bottom:5px}.card-metrics small{color:var(--muted);font-size:11px}.project-card .progress{height:5px;background:var(--c-eef1e9);border-radius:0;margin:14px 0 5px;overflow:hidden}.project-card .progress i{display:block;height:5px;background:var(--c-8baa79)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:11px;font-weight:550;text-transform:uppercase;letter-spacing:.6px;color:var(--c-6c7760);background:var(--c-f8faf6);padding:13px 17px;white-space:nowrap}.data-table td{padding:14px 17px;border-top:1px solid var(--line);font-size:11px}.data-table td .skills{display:flex;gap:4px;flex-wrap:wrap}.data-table tbody tr:hover{background:var(--c-fafbf8)}.util{display:flex;align-items:center;gap:9px}.util-track{width:74px;height:5px;border-radius:0;background:var(--c-e9eee3);overflow:hidden}.util-track i{height:5px;display:block;background:var(--c-9bb784)}.util-track i.over{background:var(--c-d1a35c)}.empty{padding:54px 25px;text-align:center;color:var(--muted);line-height:1.7}.empty h3{color:var(--ink);font-size:17px;margin:12px 0 6px}.empty .btn{margin:15px auto 0}.empty svg{width:32px;height:32px;stroke-width:1.1;color:var(--c-627850)}.issues{display:flex;flex-direction:column;gap:12px}.issue-card{padding:17px 19px;background:var(--c-ffffff);border:1px solid var(--line);border-left:3px solid var(--c-d1b47c);border-radius:0;display:flex;gap:13px;align-items:flex-start}.issue-card.error{border-left-color:var(--red)}.issue-card h3{font-size:13px;margin:3px 0 7px;font-weight:550}.issue-card p{font-size:11px;color:var(--muted);line-height:1.7}.issue-card .issue-icon{color:var(--c-8d6c20)}.issue-card.error .issue-icon{color:var(--red)}.issue-card .links{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.activity-list{padding:5px 22px}.activity-entry{display:flex;gap:13px;padding:19px 0;border-bottom:1px solid var(--line);align-items:flex-start}.activity-entry .dot{background:var(--c-a4b694);margin-top:5px;flex-shrink:0}.activity-entry p{font-size:12px}.activity-entry small{display:block;color:var(--muted);margin-top:6px;font-size:11px}.policy{max-width:730px;padding:23px}.policy p{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0 21px}.policy-section{border-top:1px solid var(--line);margin-top:23px;padding-top:23px}
.scrim{position:fixed;inset:0;background:var(--c-1734284d);z-index:80;backdrop-filter:blur(2px)}.drawer{position:fixed;inset:0 0 0 auto;background:var(--c-ffffff);width:510px;max-width:100vw;box-shadow:-12px 0 50px var(--c-18352520);z-index:81;display:flex;flex-direction:column;animation:slide .16s ease}.drawer-head{padding:23px 24px 19px;border-bottom:1px solid var(--line)}.drawer-head .eyebrow{color:var(--c-677658);margin-bottom:10px}.drawer-head h2{font-size:22px}.drawer-head .close{position:absolute;right:18px;top:18px}.drawer-body{padding:22px 24px;overflow:auto;flex:1}.drawer-foot{border-top:1px solid var(--line);padding:15px 24px;display:flex;align-items:center;gap:8px;background:var(--c-fbfcf9)}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:550;min-width:0}.field input,.field select,.field textarea{padding:10px 11px;border:1px solid var(--c-dbe2d7);min-height:37px;background:var(--c-ffffff);color:var(--ink);font-size:12px;width:100%}.field textarea{min-height:80px;resize:vertical;line-height:1.6}.field small{font-size:11px;color:var(--muted);font-weight:400;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.form-grid .full{grid-column:1/-1}.weekday-picker{display:flex;gap:6px}.weekday-picker label{width:34px;height:32px;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid var(--c-dce3d7);border-radius:0;color:var(--c-67755e);font-size:11px;cursor:pointer}.weekday-picker label:has(input:checked){color:var(--c-4d6840);background:var(--c-eaf0df);border-color:var(--c-b6c7a5)}.weekday-picker input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.weekday-picker label:focus-within{outline:2px solid var(--green)}.status-options{display:flex;gap:9px}.status-option{flex:1;position:relative;border:1px solid var(--line);border-radius:0;padding:11px;cursor:pointer;font-size:11px}.status-option input{position:absolute;opacity:0}.status-option:has(input:checked){border-color:var(--c-789364);background:var(--c-f1f5e9)}.status-option:focus-within{outline:2px solid var(--green)}.status-option small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin:6px 0 0}.form-section{border-top:1px solid var(--line);padding-top:19px;margin-top:20px}.form-section h3{font-size:12px;margin-bottom:12px}.validation{border:1px solid var(--c-eed5b2);background:var(--c-fff9eb);padding:12px;border-radius:0;font-size:11px;line-height:1.65;color:var(--c-8a7034);margin-bottom:13px}.validation.error{background:var(--c-fff0ed);color:var(--c-a35147);border-color:var(--c-edc7be)}.validation ul{margin:5px 0;padding-left:17px}.validation:empty{display:none}.candidate{display:flex;align-items:center;gap:9px;width:100%;padding:11px 0;background:none;border:0;border-bottom:1px solid var(--line);text-align:left}.candidate:hover{background:var(--c-f7faf3)}.candidate strong{font-size:11px}.candidate small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.candidate .tag{font-size:11px}.candidate.blocked{opacity:.6}.drawer-summary{background:var(--c-f5f8ef);padding:14px;border-radius:0;margin-bottom:18px;font-size:11px;color:var(--c-6b7560);line-height:1.8}.drawer-summary strong{color:var(--c-455b36)}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:var(--c-173d35);display:flex;flex-direction:column;padding:50px 60px;justify-content:space-between;color:var(--c-e4e9d9)}.login-art .brand{padding:0}.login-art h1{font-size:54px;font-weight:500;letter-spacing:-2px;line-height:1.12;max-width:480px;margin:55px 0 20px}.login-art p{font-size:14px;line-height:1.8;color:var(--c-b9cbb5);max-width:360px}.login-demo-bars{display:flex;flex-direction:column;gap:14px;margin:45px 0}.login-demo-bars span{height:36px;border-radius:0;background:var(--c-aec594);color:var(--c-244834);padding:10px 15px;font-size:11px;width:80%}.login-demo-bars span:nth-child(2){background:transparent;border:1px dashed var(--c-bda56c);color:var(--c-d8c18a);margin-left:14%;width:75%}.login-demo-bars span:nth-child(3){width:64%;margin-left:26%;background:var(--c-769783);color:var(--c-ffffff)}.login-form{align-self:center;width:360px;max-width:calc(100vw - 40px);margin:0 auto;padding:40px 0}.login-form h2{font-size:27px;margin-bottom:12px}.login-form p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:28px}.login-form .field{margin-bottom:17px}.login-form .btn{width:100%;margin-top:7px}.login-form .small{display:block;font-size:11px;text-align:center;line-height:1.8;margin-top:25px;color:var(--muted)}.modal{position:fixed;z-index:82;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--c-ffffff);border-radius:0;width:480px;max-width:95vw;max-height:90vh;overflow:auto;padding:25px;box-shadow:0 20px 80px var(--c-19372a40)}.modal p{font-size:12px;color:var(--muted);line-height:1.8;margin:14px 0 20px}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}#toast{position:fixed;bottom:23px;left:calc(50% + 70px);transform:translateX(-50%);background:var(--c-243f30);color:var(--c-f3f7e8);border-radius:0;padding:12px 18px;z-index:110;font-size:12px;box-shadow:0 5px 20px var(--c-17342824);opacity:0;pointer-events:none;transition:opacity .15s;max-width:90vw}#toast.show{opacity:1}.readonly-hint{background:var(--c-f1f5ed);color:var(--c-617556);border-radius:0;padding:11px;font-size:11px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes slide{from{transform:translateX(25px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(min-width:1600px){:root{--sidebar:232px;--gutter:307px;--day:48px}.content{padding:30px 36px}.topbar{padding:0 36px}.timeline{max-height:calc(100vh - 449px)}}
@media(max-width:1200px){:root{--sidebar:184px;--gutter:251px;--day:41px}.content{padding:23px 21px}.sidebar{padding-left:10px;padding-right:10px}.topbar{padding:0 21px}.brand{font-size:24px}.page-head h1{font-size:25px}.stats{gap:10px}.stat{padding:13px}.stat-number strong{font-size:24px}.booking .booking-sub{display:none}.page-actions .export-label{display:none}}
@media(max-width:850px){:root{--sidebar:66px;--gutter:235px}.sidebar{padding:24px 9px}.brand{padding:0;justify-content:center}.brand>span,.workspace,.sidebar>.eyebrow,.nav button span,.side-note,.profile .stack,.profile button,.side-bottom>.nav{display:none}.nav{margin-top:35px}.nav button{justify-content:center;padding:13px 0}.nav .count{display:none}.profile{padding:16px 0;justify-content:center}.brandmark{transform:scale(.9)}.content{padding:22px 17px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.stats{grid-template-columns:repeat(2,1fr)}.stat{min-height:91px}.timeline{max-height:60vh}.login{grid-template-columns:1fr}.login-art{display:none}.board-top{gap:8px}.filters{gap:6px}.bottom-note{display:none}.topbar{padding:0 17px}.save-state{font-size:11px}.topbar .crumb-extra{display:none}.page-head p{max-width:260px;line-height:1.6}.login-form{padding:45px 10px}.stat-number strong{font-size:24px}}
@media(max-width:580px){:root{--sidebar:0px;--gutter:176px;--day:48px}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:56px;padding:0;background:var(--c-173d35);z-index:40}.sidebar .brand,.profile,.side-bottom{display:none}.sidebar .nav{flex-direction:row;margin:0;height:56px;gap:0;justify-content:space-around}.sidebar .nav button{width:20%;border-radius:0}.sidebar .nav button[data-view=activity]{display:none}.content{padding:18px 12px 78px}.topbar{height:50px;padding:0 12px;gap:7px}.topbar .tag{font-size:11px;margin:0}.topbar .btn{display:none}.page-head{gap:8px}.page-head h1{font-size:22px}.page-head p{font-size:11px}.page-actions{flex-direction:column;align-items:stretch;gap:5px}.page-actions .btn{font-size:11px;padding:7px;min-height:30px}.stats{gap:8px;margin-bottom:15px}.stat{padding:12px;min-height:94px}.stat-top{font-size:11px}.stat-number{gap:5px}.stat-number span{font-size:11px}.board-top{padding:11px}.period strong{min-width:107px;font-size:11px}.board-top .spacer{display:none}.filters{padding:10px}.filters .search{max-width:100%;flex-basis:100%}.filters select{flex:1;max-width:unset;min-width:0}.legend{gap:10px;padding:11px;font-size:11px}.row-label{padding:8px}.row-label .name{max-width:139px;font-size:11px}.row-label .avatar{display:none}.row-label small{font-size:11px}.project-label{padding:7px}.project-label button{font-size:11px}.project-label small{font-size:11px}.row-label .role-dot{margin:0 2px}.timeline{max-height:60vh}.timeline-label{padding:10px;font-size:11px}.demo-banner{align-items:flex-start;flex-wrap:wrap;font-size:11px}.demo-banner .grow{min-width:160px}.board-footer{font-size:11px;padding:10px}.attention-strip{font-size:11px}.attention-strip .linkbtn{font-size:11px}.drawer{width:100%}.drawer-head{padding:20px}.drawer-body{padding:20px}.drawer-foot{padding:12px 20px}.drawer-head h2{font-size:21px}.data-table td,.data-table th{padding:12px}.issue-card{padding:14px;gap:8px}.issue-card .btn{padding:7px;font-size:11px}#toast{left:50%;bottom:70px}.policy{padding:18px}.form-grid{gap:14px 10px}}
.focus-mode .page-head,.focus-mode .demo-banner,.focus-mode .stats,.focus-mode .bottom-note{display:none}.focus-mode .timeline{max-height:calc(100vh - 300px);min-height:320px}.focus-mode .content{padding-top:18px}.tag svg{width:10px;height:10px}.bottom-note svg{vertical-align:middle;width:14px;height:14px}.drag-tip{position:fixed;z-index:100;background:var(--c-224c3a);color:var(--c-ffffff);padding:8px 12px;border-radius:0;pointer-events:none;font-size:11px;box-shadow:0 4px 20px var(--c-11223322)}.booking.dragging{opacity:.5;cursor:grabbing}
@media print{.sidebar,.topbar,.page-actions,.filters,.board-top .btn,.row-add,.demo-banner,.attention-strip,.bottom-note,.drawer,.scrim,#toast{display:none!important}.shell{margin:0}.content{padding:0}.timeline{overflow:visible;max-height:none}.timeline-inner{width:100%}.timeline{zoom:.6}.surface{border:0}.stats{break-inside:avoid}.booking,.project-group,.date-cell{print-color-adjust:exact;-webkit-print-color-adjust:exact}.timeline-head{position:static}.page-head{margin-bottom:10px}@page{size:A3 landscape;margin:10mm}}

@media(max-width:580px){.filters select{flex:1 1 calc(50% - 6px);max-width:calc(50% - 3px)}.filters>.grow{display:none}.topbar .btn{display:inline-flex;min-width:25px;min-height:25px;padding:4px}.topbar .btn svg{width:15px;height:15px}.topbar .save-state{max-width:106px}.topbar .crumb-slash{display:none}.topbar{gap:6px}.topbar>span:first-child{display:none}}

/* Direct roster actions */
.quick-menu{position:fixed;z-index:120;min-width:230px;max-width:calc(100vw - 16px);padding:7px;background:var(--c-ffffff);border:1px solid var(--c-dce5d5);border-radius:0;box-shadow:0 12px 45px var(--c-173d3533);color:var(--c-31513c)}.quick-menu-title{font-size:11px;letter-spacing:1.2px;font-weight:650;padding:9px 10px;color:var(--c-68765d)}.quick-menu>button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:0;text-align:left;background:none;font:inherit;font-size:12px;color:inherit;cursor:pointer}.quick-menu>button .icon{width:15px;height:15px;opacity:.7}.quick-menu>button:hover,.quick-menu>button:focus-visible{background:var(--c-edf3e7);outline:none}.quick-menu>button.danger{color:var(--c-a15845);border-top:1px solid var(--c-edf0e8);margin-top:5px;border-radius:0}.quick-menu>button.danger:hover{background:var(--c-fff1e9)}
.entity-quick,.project-label .entity-quick{flex:0 0 25px;min-height:25px;padding:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--c-657759);border:1px solid transparent}.entity-quick:hover,.project-label .entity-quick:hover{background:var(--c-eaf0e3);border-color:var(--c-d6e0cd)}.booking:has(.resize-handle){cursor:grab;user-select:none;touch-action:pan-y}.resize-handle{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize;z-index:8;opacity:0;background:var(--c-607e6855)}.resize-handle.start{left:0}.resize-handle.end{right:0}.booking:hover .resize-handle,.booking:focus .resize-handle{opacity:1}.booking-quick{position:absolute;z-index:6;width:18px;height:24px;border:0;border-radius:0;background:var(--c-f8fbf1);color:var(--c-506842);font-size:15px;line-height:16px;padding:0;cursor:pointer;opacity:0;pointer-events:none}.booking:hover+.booking-quick,.booking:focus+.booking-quick,.booking-quick:hover,.booking-quick:focus-visible{opacity:1;pointer-events:auto;box-shadow:0 0 0 1px var(--c-9bac8744)}.booking-quick:hover{background:var(--c-e6eeda)}.booking.dragging{z-index:30;cursor:grabbing}.drag-tip{white-space:nowrap}
@media(hover:none){.booking-quick{opacity:.9;pointer-events:auto}.booking-sub{padding-right:18px!important}.resize-handle{display:none}}
@media print{.entity-quick,.booking-quick,.resize-handle,.quick-menu{display:none!important}}

.report-filters{display:flex;align-items:end;gap:15px;padding:18px;margin-bottom:18px;flex-wrap:wrap}.report-filters .field{min-width:160px;flex:1}.report-filters .btn{margin-bottom:0}.report-stats{grid-template-columns:repeat(4,1fr)}.report-section{padding:22px;margin-bottom:20px}.report-section h2{font-size:17px;font-weight:600;margin:0 0 8px}.report-section p{font-size:11px;color:var(--c-68745e);line-height:1.7;margin:0 0 18px}.report-section .table-wrap{margin:0 -22px -22px}.report-over{color:var(--c-a65f3e);font-weight:650}.coverage-chart{display:flex;gap:5px;overflow-x:auto;align-items:end;min-height:173px;padding-top:12px}.chart-day{flex:1;min-width:18px;text-align:center}.chart-column{height:140px;display:flex;flex-direction:column;justify-content:end;gap:0;border-radius:0;overflow:hidden;background:var(--c-f8faf5)}.chart-column i{display:block;min-height:0}.chart-filled{background:var(--c-73966c)}.chart-gap{background:repeating-linear-gradient(135deg,var(--c-e8c884),var(--c-e8c884) 4px,var(--c-f1dda9) 4px,var(--c-f1dda9) 7px)}.chart-day small{display:block;font-size:11px;color:var(--c-68765d);margin-top:8px}.report-section .data-table{white-space:nowrap}
@media(max-width:900px){.report-stats{grid-template-columns:repeat(2,1fr)}}

.presence-strip{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--c-67765f);margin-left:10px;white-space:nowrap}.presence-dot{width:6px;height:6px;border-radius:50%;background:var(--c-74a466)}.presence-dot.offline{background:var(--c-cda55e)}.peer-avatar{background:var(--peer-color);border:2px solid var(--c-ffffff);color:var(--c-ffffff);width:27px;height:27px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 11px var(--font);cursor:pointer;flex-shrink:0}.presence-banner{display:flex;flex-wrap:wrap;gap:16px;min-height:31px;padding:8px 30px;background:var(--c-f4f1fa);border-bottom:1px solid var(--c-e4dfee);font-size:11px;color:var(--c-756087)}.presence-banner>span{display:flex;align-items:center;gap:6px}.presence-banner i{width:6px;height:6px;border-radius:50%;background:var(--peer-color)}.peer-highlight{outline:2px solid var(--peer-color)!important;outline-offset:2px;z-index:5}.peer-day{position:absolute;top:0;bottom:0;width:var(--day);border:2px solid var(--peer-color);background:var(--c-ad88cc18);pointer-events:none;z-index:7}#presence-editor-note{border-color:var(--c-c8b8db);background:var(--c-f5f0fa);color:var(--c-75568d);margin-bottom:15px}#remote-change-note{margin-bottom:15px}
@media(max-width:650px){.presence-strip{margin-left:0}.presence-strip>span:not(.presence-dot){display:none}.presence-banner{padding:8px 15px;gap:6px;font-size:11px}.peer-avatar{width:23px;height:23px}.presence-strip .peer-avatar:nth-of-type(n+3){display:none}}
@media print{.presence-strip,.presence-banner,.peer-day{display:none!important}.peer-highlight{outline:none!important}}
#modal-wrap>.scrim{z-index:90}.modal{z-index:91}.modal .actions{flex-wrap:wrap}.modal .actions .btn{max-width:100%;white-space:normal;text-align:center}

.roster-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 30px;border-bottom:1px solid var(--c-e6dfcb);background:var(--c-fcf9ee);font-size:11px;color:var(--c-866f40)}.roster-status.issued{background:var(--c-edf5e9);color:var(--c-527247);border-color:var(--c-d6e4cf)}.roster-mode-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.roster-status .btn{min-height:28px;font-size:11px;padding:5px 9px}.change-record{border:1px solid var(--c-dfe6d8);border-radius:0;margin:10px 0}.change-record summary{display:flex;align-items:center;gap:9px;cursor:pointer;padding:12px;font-size:11px}.change-record summary strong{flex:1}.change-record summary small{color:var(--c-697560)}.change-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background:var(--c-f8faf5);font-size:11px}.change-columns pre{font:11px/1.7 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--c-69765e)}.booking.compact-booking{justify-content:center;padding:0 1px;font-size:11px;letter-spacing:-.3px}.compact-booking .booking-text{overflow:visible}.compact-booking .resize-handle{width:3px}.booking-tooltip{position:fixed;z-index:140;pointer-events:none;max-width:min(430px,calc(100vw - 16px));background:var(--c-193e32);color:var(--c-f1f5eb);border:1px solid var(--c-5f7f67);border-radius:0;padding:13px 16px;box-shadow:0 6px 25px var(--c-173a3540);display:flex;flex-direction:column;gap:7px;font-size:11px;line-height:1.6}.booking-tooltip strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.booking-tooltip span{color:var(--c-c5d8bd)}.booking-tooltip small{color:var(--c-a9c293);font-size:11px}.project-label .project-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.project-title small{overflow:hidden;text-overflow:ellipsis}
@media(max-width:650px){.roster-status{padding:8px 15px}.roster-status .grow{display:none}.change-columns{grid-template-columns:1fr}.roster-status strong{width:calc(100% - 20px)}}
@media print{.roster-status .btn,.booking-tooltip{display:none!important}}

.scenario-layout{display:grid;grid-template-columns:minmax(330px,420px) minmax(0,1fr);gap:20px;align-items:start}.scenario-choices{display:flex;flex-direction:column;gap:12px;margin:5px 0}.scenario-choices label{display:flex;align-items:center;gap:9px;font-weight:400}.scenario-choices input{width:16px;min-height:16px;margin:0}.scenario-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.scenario-metrics>div{background:var(--c-f2f6ec);border:1px solid var(--c-e1e8d9);border-radius:0;padding:14px}.scenario-metrics small{font-size:11px;color:var(--c-68765a);display:block;margin-bottom:8px}.scenario-metrics span{font-size:21px;color:var(--c-667559)}.scenario-metrics strong{font-weight:650;color:var(--c-3d6036)}
@media(max-width:1000px){.scenario-layout{grid-template-columns:1fr}.scenario-layout>.report-section{max-width:none}}

.shift-controls{padding:16px;border-radius:0;background:var(--c-f2f5ed);gap:12px}.shift-controls label{display:grid;grid-template-columns:45px 1fr;align-items:center;gap:12px}.shift-controls input[type=range]{padding:0;min-height:24px;accent-color:var(--c-34796b)}.shift-duration{font-size:12px;color:var(--c-34796b)}.trend-chart{width:100%;height:auto;min-height:180px}.trend-bars{display:flex;gap:10px;height:210px;overflow-x:auto}.trend-bars button{flex:1;min-width:26px;border:0;background:transparent;display:flex;flex-direction:column;gap:8px;cursor:pointer;color:var(--c-677462)}.trend-bar{height:180px;width:100%;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid var(--c-dfe7d9)}.trend-bar i{display:block;min-height:0;border-radius:0}.trend-bars button:hover{background:var(--c-f3f6ee)}#people-employment{max-width:200px}

/* Mobile navigation occupies its own row; it never overlays the roster. */
.timing-exact{display:contents}[data-timing][hidden]{display:none!important}
@media(max-width:580px){
 #app:has(>.shell){height:100vh;height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);overflow:hidden}
 #app>.shell{grid-row:1;min-height:0;overflow:auto;overscroll-behavior-y:contain;scrollbar-width:thin}
 #app>.sidebar{position:relative;inset:auto;grid-row:2;height:auto;min-height:64px;padding:0 0 env(safe-area-inset-bottom);width:100%;z-index:40;border-top:1px solid var(--c-446257)}
 .sidebar .nav{height:64px;overflow-x:auto;justify-content:flex-start;scrollbar-width:thin;gap:0}
 .sidebar .nav button,.sidebar .nav button[data-view=activity]{display:flex;flex:0 0 68px;width:68px;flex-direction:column;gap:5px;padding:9px 3px;min-height:56px}
 .sidebar .nav button span{display:block;font-size:11px;line-height:1.2;white-space:nowrap}
 .content{padding-bottom:22px}.drawer{height:100vh;height:100dvh}.drawer-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
 #toast{bottom:calc(76px + env(safe-area-inset-bottom))}.login{min-height:100dvh}
}

.estimate-note{display:block;color:var(--c-8e6b28);font-size:11px;margin-top:4px}.import-person{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.import-person input{margin:3px 0;flex-shrink:0}.import-person small{display:block;font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.import-person .import-error{color:var(--c-a04b3d)}.report-filters{flex-wrap:wrap}.report-filters .field{min-width:125px;flex:1}

.lieu-policy-fields{display:contents}.lieu-policy-fields[hidden]{display:none}.lieu-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 12px}.lieu-totals>div{border:1px solid var(--line);padding:12px;border-radius:0;background:var(--c-f7faf4)}.lieu-totals small{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.lieu-totals strong{font-size:16px}.import-error{color:var(--c-a04b3d)}

.checklist{margin:0;min-width:0;border:1px solid var(--line);border-radius:0;padding:12px}.checklist legend{padding:0 6px;font-weight:600}.check-options{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;margin:5px 0 12px}.check-options label{display:flex;gap:7px;align-items:flex-start;font-size:11px;line-height:1.5;font-weight:400}.check-options input{width:15px;min-height:15px;height:15px;flex-shrink:0;margin:0}.role-checks{max-height:235px;overflow:auto;padding:5px}.checklist small{font-size:11px;color:var(--muted);font-weight:400;line-height:1.65}.checklist>.field{margin-bottom:8px}input[list]{padding-right:25px!important}
/* Forward planning and decision clarity. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.date-jump input{width:132px;font-size:11px;border:1px solid var(--line);padding:5px;border-radius:0;background:var(--c-ffffff);color:var(--ink)}.outlook-controls{padding:18px;margin-bottom:16px}.outlook-controls form{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.outlook-controls .field{min-width:170px;flex:1}.outlook-controls .row{flex-wrap:wrap}.outlook-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:20px}.outlook-month{background:var(--c-ffffff);border:1px solid var(--line);padding:15px;border-radius:0;text-align:left;color:var(--c-466149);display:flex;flex-direction:column;gap:12px;min-width:0}.outlook-month.selected{border:2px solid var(--c-487d65);background:var(--c-eff5e9);padding:14px}.outlook-month>span{font-size:12px;font-weight:650}.outlook-month strong{font-size:25px;font-weight:600;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.outlook-month small{font-size:11px;line-height:1.5;font-weight:400}.outlook-meter{height:5px;background:var(--c-e9eee3);border-radius:0;overflow:hidden}.outlook-meter i{height:100%;display:block;background:var(--c-7eaa75)}.outlook-table{min-width:780px}.outlook-table th:first-child{width:30%}.outlook-table td{vertical-align:top}.outlook-role{display:block;color:var(--c-687561);font-size:11px;margin-top:6px}.outlook-assignments{display:flex;flex-direction:column;gap:7px;margin-top:12px}.outlook-assignment{border:0;background:var(--c-f4f7ef);border-radius:0;padding:8px;display:flex;gap:7px;text-align:left;font-size:11px;color:var(--c-37503e)}.outlook-assignment.pencilled{background:var(--c-fff8e7);border:1px dashed var(--c-c4a15b)}.outlook-assignment i{width:4px;flex:none;border-radius:0}.outlook-assignment small{display:block;font-size:11px;color:var(--c-697561);margin-top:5px}.occupancy{width:100%;min-height:85px;background:var(--c-f8faf5);border:1px solid var(--c-e1e7dc);border-radius:0;text-align:left;color:var(--c-69775d);padding:10px;display:flex;flex-direction:column;gap:6px}.occupancy.has-work{background:var(--c-e9f1e2);border-color:var(--c-b6cca7);color:var(--c-405e3e)}.occupancy.has-pencil{border-bottom:3px dashed var(--c-b99b57)}.occupancy strong{font-size:15px}.occupancy small,.occupancy span{font-size:11px;font-weight:400}.occupancy span{color:var(--c-8a6d2e)}.booking-summary dt{font-size:11px;color:var(--c-69755f);margin:20px 0 7px}.booking-summary dd{margin:0;font-size:14px;line-height:1.7}.booking-checks-top{margin-top:0;padding-top:0;border-top:0}.booking-checks-top .validation{font-size:12px}.include-conflicts input{width:auto;margin-right:6px}.include-conflicts span{font-size:11px}.gap-cell.has-holds{border-color:var(--c-c4a15b);color:var(--c-8f6e28);background:var(--c-fff9ea)}.gap-cell i{display:inline-block;width:4px;height:4px;background:var(--c-bd9550);border-radius:50%;margin-left:2px}.coverage-warning{color:var(--c-aa5d3c)!important}.candidate:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:1150px){.outlook-months{grid-template-columns:repeat(3,minmax(0,1fr))}.period{flex-wrap:wrap}.period strong{min-width:0}}
@media(max-width:580px){.outlook-months{grid-template-columns:repeat(2,minmax(0,1fr))}.outlook-controls form{display:grid;grid-template-columns:minmax(0,1fr)}.outlook-controls .field{min-width:0}.outlook-month strong{font-size:21px}.page-actions{flex-wrap:wrap}.date-jump input{width:128px}}
.timeline-quarter .timeline-head{height:63px}.timeline-quarter .quarter-days{display:block}.quarter-months,.quarter-weeks{display:flex}.quarter-months span{flex:none;height:30px;padding:9px 10px 5px;color:var(--c-486648);font-size:11px;font-weight:650;border-right:2px solid var(--c-cad8bd);background:var(--c-edf3e7);overflow:hidden;white-space:nowrap}.quarter-weeks button{height:33px;border:0;border-right:1px solid var(--c-dfe7d8);border-radius:0;background:var(--c-f8faf5);padding:2px;font-size:11px;color:var(--c-69775e);flex:none}.quarter-weeks button:hover{background:var(--c-dfebd4);color:var(--c-244c3b)}.timeline-quarter .track{background-size:calc(var(--day)*7) 100%}.timeline-quarter .booking{min-width:6px}.timeline-quarter .compact-booking{padding-left:0;padding-right:0}.timeline-quarter .gap-cell{font-size:11px}.portfolio-filters{padding:18px;margin-bottom:20px}.portfolio-filters form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.portfolio-filters .field{flex:1;min-width:165px}.portfolio-key{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 12px;font-size:11px;color:var(--c-68755c)}.portfolio-key span{display:flex;align-items:center;gap:6px}.readiness-dot{width:11px;height:11px;border-radius:0;border:1px solid var(--c-bac5b1);background:var(--c-e9ece5)}.readiness-dot.expected,.readiness-label.expected{background:var(--c-ebeeea);color:var(--c-606f61)}.readiness-dot.tendering,.readiness-label.tendering{background:var(--c-f7deca);color:var(--c-8f581f)}.readiness-dot.resources-unconfirmed,.readiness-label.resources-unconfirmed{background:var(--c-f8ecc5);color:var(--c-806826)}.readiness-dot.admin-incomplete,.readiness-label.admin-incomplete{background:var(--c-f5f1df);color:var(--c-776d4c)}.readiness-dot.ready,.readiness-label.ready{background:var(--c-dfecd4);color:var(--c-4a7241)}.readiness-label{font-size:11px;padding:8px;border-radius:0;line-height:1.6;margin-top:15px}.tag.prospect{background:var(--c-e9eee6);color:var(--c-616e5d)}@media(max-width:580px){.portfolio-filters form{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.portfolio-filters .field{min-width:0}.portfolio-key{gap:9px}}

/* Keep date context visible while the Gantt scrolls across month boundaries. */
.timeline .timeline-head{height:77px}.timeline .timeline-days{display:block}.timeline .daily-head{display:flex;height:47px}.timeline .date-cell{flex:none}.timeline-quarter .timeline-head{height:63px}.quarter-months span{padding-left:8px}.quarter-months b{position:sticky;left:calc(var(--gutter) + 8px);font-weight:650}.timeline-scroll-guide{display:flex;justify-content:space-between;gap:10px;padding:9px 16px;background:var(--c-f2f6ee);color:var(--c-607752);font-size:11px;border-top:1px solid var(--line);flex-wrap:wrap}.timeline-quarter .booking-sub{display:none}.timeline-quarter .booking{gap:3px;padding-left:3px;padding-right:3px}.timeline-quarter .booking-text{flex:1;min-width:0}

/* Maximise the actual board, while keeping connection, issue and collaborator context. */
body.focus-mode{overflow:hidden}.focus-mode #app{display:block;width:100vw;height:100dvh;overflow:hidden}.focus-mode .sidebar{display:none!important}.focus-mode .shell{margin:0!important;width:100%;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.focus-mode .topbar{height:34px;min-height:34px;padding:0 12px;flex:none}.focus-mode .roster-status{padding:5px 12px;min-height:28px;flex:none}.focus-mode .presence-banner{padding:4px 12px;min-height:24px;flex:none}.focus-mode .content{padding:6px!important;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.focus-mode .content>section.surface{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.focus-mode #attention-strip,.focus-mode .bottom-note{display:none}.focus-mode .board-top{padding:6px 10px;gap:6px;flex:none}.focus-mode .board-top .btn,.focus-mode .board-top .tabs button{min-height:27px;font-size:11px;padding:5px 7px}.focus-mode .board-top .tabs{padding:2px}.focus-mode .filters{padding:6px 10px;gap:8px;flex:none}.focus-mode .filters input,.focus-mode .filters select{min-height:28px;font-size:11px}.focus-mode .legend{padding:5px 10px;gap:12px;font-size:11px;flex:none}.focus-mode .timeline-scroll-guide{padding:5px 10px;font-size:11px;flex:none}.focus-mode .timeline{flex:1;min-height:0!important;max-height:none!important}.focus-mode .board-footer{padding:5px 10px;font-size:11px;flex:none}.focus-mode .period strong{font-size:11px;min-width:100px}.timeline .project-group{position:sticky;top:77px;z-index:15}.timeline-quarter .project-group{top:63px}.timeline-compact .project-group{height:32px}.timeline-compact .project-label{padding:4px 9px}.timeline-compact .project-label .project-dot{height:22px}.timeline-compact .project-label button{font-size:11px}.timeline-compact .project-label small{font-size:11px;margin-top:2px}.timeline-compact .group-info{font-size:11px;gap:9px}.timeline-compact .group-info .tag{font-size:11px;padding:2px 5px}.timeline-compact .row-label{padding:3px 10px;gap:5px}.timeline-compact .row-label .name{font-size:11px;line-height:13px}.timeline-compact .row-label small{font-size:11px;line-height:10px;margin-top:1px}.timeline-compact .row-label .avatar{width:23px;height:23px;font-size:11px}.timeline-compact .row-label .row-add{top:1px}.timeline-compact .booking{height:22px;font-size:11px;padding-left:4px;padding-right:4px;gap:3px}.timeline-compact .booking-quick{height:19px}.timeline-compact .gap-cell{height:18px;font-size:11px}.timeline-compact .booking-sub{display:none}.timeline-compact .timeline-row{min-height:32px}

.quarter-months b{position:static}

.timeline-compact{--gutter:248px}.timeline-compact .timeline-row{min-height:28px}.timeline-compact .booking{height:20px}.timeline-compact .project-group{height:28px}.timeline-compact .project-label{padding:2px 8px}.timeline-compact .row-label{padding:2px 8px}.timeline-compact .row-label .name{line-height:12px}.timeline-compact .row-label small{line-height:9px}.timeline-scroll-guide>span{display:flex;align-items:center;gap:7px}.timeline-scroll-guide .btn{font-size:11px;min-height:20px;padding:2px 5px}.timeline-scroll-guide small{font-size:11px}@media(max-width:580px){.timeline-compact{--gutter:164px}.timeline-scroll-guide>span small{display:none}}

/* Keep controls out of short bars and reserve their space on longer bookings. */
.booking.has-quick{padding-right:28px}.booking.compact-booking{justify-content:center;padding-left:1px;padding-right:1px}.booking.compact-booking .booking-text{text-overflow:clip}.gap-cell.needs-review{background:var(--c-fff3df);border-color:var(--c-bc8e42);color:var(--c-966421)}

/* Project colours follow the company key; booking colours retain individual commitment. */
.readiness-label.expected,.readiness-dot.expected{background:var(--c-dce0db);color:var(--c-405041)}.readiness-label.tendering,.readiness-dot.tendering{background:var(--c-efb07c);color:var(--c-633b17)}.readiness-label.resources-unconfirmed,.readiness-dot.resources-unconfirmed{background:var(--c-f7ea87);color:var(--c-5c501c)}.readiness-label.admin-incomplete,.readiness-dot.admin-incomplete{background:var(--c-fff4d6);color:var(--c-6c603c)}.readiness-label.ready,.readiness-dot.ready{background:var(--c-b9d899);color:var(--c-304e27)}.group-info .readiness-label{margin:0;padding:4px 7px;font-size:11px;white-space:nowrap}.timeline-compact .group-info .readiness-label{font-size:11px;padding:3px 6px}.project-key-list{display:grid;gap:10px;margin-bottom:20px}.project-key-list .readiness-label{margin:0;font-size:13px;padding:14px}.communication-tag{font-size:11px;font-weight:500;margin-left:auto;max-width:145px;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;padding:1px 4px;border-radius:0;background:var(--c-ffffff99);color:var(--c-676b60)}.communication-tag+.booking-sub{margin-left:0}.communication-contacted{color:var(--c-8e6611);background:var(--c-fff0c7)}.communication-needs-update{color:var(--c-a04433);background:var(--c-fff0e7)}.communication-informed{color:var(--c-315e47);background:var(--c-eaf6e8)}.communication-agreed{color:var(--c-52649a);background:var(--c-eef1fb)}

.role-review-note{display:block;border:0;background:transparent;color:var(--c-976633);font-size:11px;padding:1px 0;line-height:11px;text-align:left;text-decoration:underline}.timeline-compact .role-review-note{font-size:11px;line-height:10px}

.group-info{position:sticky;left:var(--gutter);background:var(--c-f8faf5);z-index:11}

.offscreen-toggle{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--c-66765b);white-space:nowrap}.offscreen-toggle input{height:14px!important;min-height:14px;width:14px}

@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--c-11223322:#bacce022;--c-17342824:#a7c3b524;--c-1734284d:#a7c3b54d;--c-173a3540:#9dbcb740;--c-173d35:#99bbb2;--c-173d3533:#99bbb233;--c-18352520:#a6c2b120;--c-184c3d:#84b0a0;--c-19372a40:#a3c0b240;--c-193e32:#99baad;--c-20352f:#a9bdb7;--c-224c3a:#89ae9c;--c-235d4c:#71a190;--c-243f30:#9cb6a7;--c-244834:#90b19c;--c-244c3b:#89ad9c;--c-254e41:#86ab9d;--c-293b2115:#a6b99f15;--c-294735:#93af9d;--c-294a39:#8fad9c;--c-304e27:#8eab86;--c-31513c:#89a691;--c-315e47:#769d87;--c-34796b:#51887c;--c-354b37:#93a895;--c-355448:#85a195;--c-37503e:#8da492;--c-385139:#8ca48d;--c-396542:#729878;--c-3d6036:#7b9b75;--c-3e715b:#628d79;--c-405041:#91a091;--c-405a4a:#829a8b;--c-405e3e:#7e9a7c;--c-436256:#789388;--c-44623b:#7b9773;--c-446257:#789288;--c-455b36:#869a78;--c-466149:#7c947e;--c-466256:#799287;--c-475d3a:#849878;--c-486648:#779276;--c-487d65:#56826e;--c-496251:#7b9282;--c-4a7241:#698c61;--c-4c7c47:#5d8558;--c-4d6840:#77906c;--c-4f6146:#819179;--c-4f947d:#39725f;--c-506842:#798e6d;--c-50715a:#6b8773;--c-52649a:#6d7eae;--c-526831:#7b8f60;--c-527247:#6c8863;--c-556d3f:#758a63;--c-56634326:#828e7126;--c-56743f:#6d875a;--c-597868:#647f71;--c-5c501c:#a0966a;--c-5d6d5d:#758375;--c-5e7051:#748368;--c-5f7f67:#5f7a66;--c-606f61:#748174;--c-607752:#6c8060;--c-607e6855:#617a6755;--c-616e5d:#768172;--c-617556:#6e8065;--c-627850:#6c7f5d;--c-633b17:#bf9778;--c-647156:#748068;--c-657759:#6d7d63;--c-666e5e:#787f71;--c-667559:#707d65;--c-66765b:#6f7c65;--c-676b60:#7c7f76;--c-677462:#717c6c;--c-67746d:#6f7a74;--c-67755e:#707c68;--c-677563:#6f7b6c;--c-677658:#6f7c63;--c-67765f:#6f7b68;--c-68745e:#727c69;--c-687469:#707a71;--c-68755c:#717c66;--c-687561:#707b6a;--c-687569:#6f7a70;--c-68765a:#707c64;--c-68765d:#6f7b66;--c-69755b:#717c65;--c-69755f:#717b68;--c-697560:#717b69;--c-697561:#707b6a;--c-697563:#707a6b;--c-69765e:#707b66;--c-69775d:#6f7b64;--c-69775e:#6e7a65;--c-6a7463:#727a6c;--c-6a7464:#727a6d;--c-6a746c:#707972;--c-6a7a6f:#69766d;--c-6b726c:#737974;--c-6b7560:#717a68;--c-6b7664:#70796a;--c-6b775e:#6f7a64;--c-6c603c:#908566;--c-6c7760:#6f7965;--c-6d7462:#73796a;--c-6e7462:#747969;--c-726099:#8071a3;--c-73966c:#4d6947;--c-74976b:#4c6845;--c-74a466:#3d6332;--c-75568d:#8f74a5;--c-756087:#867496;--c-769783:#4a6555;--c-76a685:#385e45;--c-776d4c:#827a5d;--c-789364:#546943;--c-7b8675:#626b5d;--c-7b9a54:#4e672e;--c-7eaa75:#3a5c33;--c-806826:#8e7a45;--c-83aa87:#3a583e;--c-866325:#967746;--c-866f40:#86724b;--c-876e43:#87724e;--c-896c3c:#8b724a;--c-896d30:#8a7341;--c-896e39:#897246;--c-89967d:#555f4b;--c-8a6b2d:#8d7341;--c-8a6d2e:#8b723f;--c-8a7034:#877140;--c-8baa79:#405732;--c-8d6c20:#8d7137;--c-8e6611:#957335;--c-8e6b28:#8e713c;--c-8eaa9c:#3d5248;--c-8f581f:#a57448;--c-8f6e28:#8b6f38;--c-916a19:#917033;--c-92a27d:#4b573b;--c-94b29f:#374d3f;--c-95671e:#956e36;--c-966421:#986e3a;--c-976633:#956c42;--c-996715:#966c2f;--c-9ba692:#485041;--c-9bac8744:#43503444;--c-9bb086:#3f4e2f;--c-9bb473:#3d4f1b;--c-9bb784:#384c26;--c-9ea48a09:#4c513d09;--c-a04433:#b96858;--c-a04b3d:#b2675a;--c-a0a789:#4a4f39;--c-a15845:#a46555;--c-a15e30:#a06641;--c-a35147:#ab645a;--c-a4b694:#3b482f;--c-a5ba8d:#384725;--c-a65f3e:#9e6247;--c-a8bea3:#33422f;--c-a9c293:#314220;--c-aa5d3c:#a16044;--c-ad88cc18:#61447918;--c-adbfad:#333f33;--c-aec594:#303f1b;--c-b34b4b:#b05856;--c-b5cbb4:#2b3a2a;--c-b6c7a5:#303b23;--c-b6cc99:#2d3c16;--c-b6cca7:#2c3b21;--c-b7c99c:#303c1b;--c-b7cec0:#28382f;--c-b8c9a1:#303b1e;--c-b99b57:#634c0f;--c-b9c9bd:#2e3930;--c-b9cbb5:#2d392a;--c-b9d899:#253a08;--c-ba844333:#7b511933;--c-bac5b1:#323a2c;--c-bac9b0:#2f3928;--c-bb704113:#8f532c13;--c-bc8e42:#724e05;--c-bcd1c6:#28362f;--c-bd9550:#6a4b0d;--c-bda56c:#584617;--c-bf984e:#684a01;--c-c19d55:#634701;--c-c3cbc1:#30362f;--c-c3cebc:#2e362a;--c-c4a15b:#5f4501;--c-c58a29:#784a00;--c-c5d8bd:#283422;--c-c6cec0:#2f352b;--c-c7ceca:#2f3431;--c-c7d0be:#2f3428;--c-c8b8db:#3d3149;--c-c9a259:#5f4200;--c-c9dab4:#29341a;--c-ca9d4f:#654300;--c-cad8bd:#2a3321;--c-cbdccd:#263128;--c-cc8a6e:#74432d;--c-cda55e:#5d3f00;--c-ce8c75:#72412f;--c-d1a35c:#5f3d00;--c-d1b47c:#4d3807;--c-d2e1d3:#252f26;--c-d4dace:#2b2f27;--c-d6e0cd:#282f22;--c-d6e4cf:#252e21;--c-d8c18a:#443304;--c-dbe2d7:#282c25;--c-dce0db:#292c29;--c-dce3d7:#282c24;--c-dce3db:#272c27;--c-dce4ce:#282d1e;--c-dce5d5:#272c22;--c-dce8dd:#242b24;--c-dcebdd:#222b22;--c-ddbf85:#473200;--c-dfe6d8:#272b22;--c-dfe7d8:#262b21;--c-dfe7d9:#262b22;--c-dfebc8:#252c14;--c-dfebd4:#242b1c;--c-dfecd4:#232b1c;--c-e1e7dc:#272a23;--c-e1e8d9:#262a21;--c-e2e5e3:#282928;--c-e3e8e1:#262925;--c-e3eacb:#272b16;--c-e4b351:#553100;--c-e4dfee:#2b2831;--c-e4e9d9:#272a1f;--c-e4efdf:#22291f;--c-e5eadd:#262921;--c-e5ebe2:#252923;--c-e5eccf:#262a17;--c-e6dfcb:#2f2b1d;--c-e6eeda:#24291c;--c-e7ebe3:#262823;--c-e7eee7:#060906;--c-e7f1eb:#060b08;--c-e8c884:#442e00;--c-e9ece5:#252723;--c-e9eee3:#070904;--c-e9eee4:#070905;--c-e9eee6:#070905;--c-e9f1e2:#070b04;--c-e9f2e5:#070c05;--c-e9f3ea:#070d08;--c-eaf0df:#070a03;--c-eaf0e2:#070a04;--c-eaf0e3:#070a04;--c-eaf6e8:#080f08;--c-ebeeea:#080907;--c-ecd7b4:#382a11;--c-ece0c3:#312916;--c-eceee9:#080907;--c-ecf0e7:#090b06;--c-ecf0e8:#090b07;--c-edc2be:#452927;--c-edc7be:#422924;--c-edf0e5:#090b05;--c-edf0e8:#090b07;--c-edf0e9:#090b07;--c-edf1e7:#090b06;--c-edf3e7:#0a0d07;--c-edf5e9:#0a0f08;--c-eed5b2:#3a2a11;--c-eeedf9:#0a090f;--c-eef0ef:#0a0b0b;--c-eef1e9:#0a0c08;--c-eef1fb:#0b0c12;--c-efb07c:#562a00;--c-efc4b1:#45291c;--c-eff5e9:#0c0f08;--c-f0f3eb:#0c0d09;--c-f0f3ed:#0c0e0a;--c-f0f4ef:#0c0e0c;--c-f1dda9:#372900;--c-f1f5e9:#0d0f08;--c-f1f5eb:#0d0f0a;--c-f1f5ed:#0d0f0b;--c-f2d2b9:#3d2817;--c-f2f5ed:#0e0f0b;--c-f2f6ec:#0e100a;--c-f2f6ee:#0e100c;--c-f3f6ee:#0f100c;--c-f3f7e8:#0f1108;--c-f4f1fa:#0e0d12;--c-f4f7ef:#0f110d;--c-f5f0fa:#0f0c11;--c-f5f1df:#0e0c03;--c-f5f8ef:#10120d;--c-f6f7f5:#111110;--c-f7deca:#352618;--c-f7ea87:#332700;--c-f7f9f3:#121310;--c-f7f9f4:#121310;--c-f7faf3:#121410;--c-f7faf4:#121411;--c-f8ecc5:#0e0700;--c-f8faf5:#131411;--c-f8faf6:#131412;--c-f8fbf1:#13150f;--c-f9ebea:#0f0808;--c-f9faf8:#141413;--c-f9fbf7:#141513;--c-faf0d3:#110b00;--c-fafbf8:#151513;--c-fbede7:#110a07;--c-fbfcf9:#161614;--c-fcf9ee:#15130d;--c-fff0c7:#140a00;--c-fff0e7:#140c07;--c-fff0ed:#140c0b;--c-fff1e9:#150d09;--c-fff2e2:#150d05;--c-fff3df:#150e04;--c-fff4d6:#150e00;--c-fff5e2:#161005;--c-fff6df:#161004;--c-fff7e6:#161208;--c-fff8e7:#171208;--c-fff9ea:#17130b;--c-fff9eb:#17130b;--c-fff9ed:#17140d;--c-ffffff:#191919;--c-ffffff99:#19191999}}
:root[data-theme=dark]{color-scheme:dark;--c-11223322:#bacce022;--c-17342824:#a7c3b524;--c-1734284d:#a7c3b54d;--c-173a3540:#9dbcb740;--c-173d35:#99bbb2;--c-173d3533:#99bbb233;--c-18352520:#a6c2b120;--c-184c3d:#84b0a0;--c-19372a40:#a3c0b240;--c-193e32:#99baad;--c-20352f:#a9bdb7;--c-224c3a:#89ae9c;--c-235d4c:#71a190;--c-243f30:#9cb6a7;--c-244834:#90b19c;--c-244c3b:#89ad9c;--c-254e41:#86ab9d;--c-293b2115:#a6b99f15;--c-294735:#93af9d;--c-294a39:#8fad9c;--c-304e27:#8eab86;--c-31513c:#89a691;--c-315e47:#769d87;--c-34796b:#51887c;--c-354b37:#93a895;--c-355448:#85a195;--c-37503e:#8da492;--c-385139:#8ca48d;--c-396542:#729878;--c-3d6036:#7b9b75;--c-3e715b:#628d79;--c-405041:#91a091;--c-405a4a:#829a8b;--c-405e3e:#7e9a7c;--c-436256:#789388;--c-44623b:#7b9773;--c-446257:#789288;--c-455b36:#869a78;--c-466149:#7c947e;--c-466256:#799287;--c-475d3a:#849878;--c-486648:#779276;--c-487d65:#56826e;--c-496251:#7b9282;--c-4a7241:#698c61;--c-4c7c47:#5d8558;--c-4d6840:#77906c;--c-4f6146:#819179;--c-4f947d:#39725f;--c-506842:#798e6d;--c-50715a:#6b8773;--c-52649a:#6d7eae;--c-526831:#7b8f60;--c-527247:#6c8863;--c-556d3f:#758a63;--c-56634326:#828e7126;--c-56743f:#6d875a;--c-597868:#647f71;--c-5c501c:#a0966a;--c-5d6d5d:#758375;--c-5e7051:#748368;--c-5f7f67:#5f7a66;--c-606f61:#748174;--c-607752:#6c8060;--c-607e6855:#617a6755;--c-616e5d:#768172;--c-617556:#6e8065;--c-627850:#6c7f5d;--c-633b17:#bf9778;--c-647156:#748068;--c-657759:#6d7d63;--c-666e5e:#787f71;--c-667559:#707d65;--c-66765b:#6f7c65;--c-676b60:#7c7f76;--c-677462:#717c6c;--c-67746d:#6f7a74;--c-67755e:#707c68;--c-677563:#6f7b6c;--c-677658:#6f7c63;--c-67765f:#6f7b68;--c-68745e:#727c69;--c-687469:#707a71;--c-68755c:#717c66;--c-687561:#707b6a;--c-687569:#6f7a70;--c-68765a:#707c64;--c-68765d:#6f7b66;--c-69755b:#717c65;--c-69755f:#717b68;--c-697560:#717b69;--c-697561:#707b6a;--c-697563:#707a6b;--c-69765e:#707b66;--c-69775d:#6f7b64;--c-69775e:#6e7a65;--c-6a7463:#727a6c;--c-6a7464:#727a6d;--c-6a746c:#707972;--c-6a7a6f:#69766d;--c-6b726c:#737974;--c-6b7560:#717a68;--c-6b7664:#70796a;--c-6b775e:#6f7a64;--c-6c603c:#908566;--c-6c7760:#6f7965;--c-6d7462:#73796a;--c-6e7462:#747969;--c-726099:#8071a3;--c-73966c:#4d6947;--c-74976b:#4c6845;--c-74a466:#3d6332;--c-75568d:#8f74a5;--c-756087:#867496;--c-769783:#4a6555;--c-76a685:#385e45;--c-776d4c:#827a5d;--c-789364:#546943;--c-7b8675:#626b5d;--c-7b9a54:#4e672e;--c-7eaa75:#3a5c33;--c-806826:#8e7a45;--c-83aa87:#3a583e;--c-866325:#967746;--c-866f40:#86724b;--c-876e43:#87724e;--c-896c3c:#8b724a;--c-896d30:#8a7341;--c-896e39:#897246;--c-89967d:#555f4b;--c-8a6b2d:#8d7341;--c-8a6d2e:#8b723f;--c-8a7034:#877140;--c-8baa79:#405732;--c-8d6c20:#8d7137;--c-8e6611:#957335;--c-8e6b28:#8e713c;--c-8eaa9c:#3d5248;--c-8f581f:#a57448;--c-8f6e28:#8b6f38;--c-916a19:#917033;--c-92a27d:#4b573b;--c-94b29f:#374d3f;--c-95671e:#956e36;--c-966421:#986e3a;--c-976633:#956c42;--c-996715:#966c2f;--c-9ba692:#485041;--c-9bac8744:#43503444;--c-9bb086:#3f4e2f;--c-9bb473:#3d4f1b;--c-9bb784:#384c26;--c-9ea48a09:#4c513d09;--c-a04433:#b96858;--c-a04b3d:#b2675a;--c-a0a789:#4a4f39;--c-a15845:#a46555;--c-a15e30:#a06641;--c-a35147:#ab645a;--c-a4b694:#3b482f;--c-a5ba8d:#384725;--c-a65f3e:#9e6247;--c-a8bea3:#33422f;--c-a9c293:#314220;--c-aa5d3c:#a16044;--c-ad88cc18:#61447918;--c-adbfad:#333f33;--c-aec594:#303f1b;--c-b34b4b:#b05856;--c-b5cbb4:#2b3a2a;--c-b6c7a5:#303b23;--c-b6cc99:#2d3c16;--c-b6cca7:#2c3b21;--c-b7c99c:#303c1b;--c-b7cec0:#28382f;--c-b8c9a1:#303b1e;--c-b99b57:#634c0f;--c-b9c9bd:#2e3930;--c-b9cbb5:#2d392a;--c-b9d899:#253a08;--c-ba844333:#7b511933;--c-bac5b1:#323a2c;--c-bac9b0:#2f3928;--c-bb704113:#8f532c13;--c-bc8e42:#724e05;--c-bcd1c6:#28362f;--c-bd9550:#6a4b0d;--c-bda56c:#584617;--c-bf984e:#684a01;--c-c19d55:#634701;--c-c3cbc1:#30362f;--c-c3cebc:#2e362a;--c-c4a15b:#5f4501;--c-c58a29:#784a00;--c-c5d8bd:#283422;--c-c6cec0:#2f352b;--c-c7ceca:#2f3431;--c-c7d0be:#2f3428;--c-c8b8db:#3d3149;--c-c9a259:#5f4200;--c-c9dab4:#29341a;--c-ca9d4f:#654300;--c-cad8bd:#2a3321;--c-cbdccd:#263128;--c-cc8a6e:#74432d;--c-cda55e:#5d3f00;--c-ce8c75:#72412f;--c-d1a35c:#5f3d00;--c-d1b47c:#4d3807;--c-d2e1d3:#252f26;--c-d4dace:#2b2f27;--c-d6e0cd:#282f22;--c-d6e4cf:#252e21;--c-d8c18a:#443304;--c-dbe2d7:#282c25;--c-dce0db:#292c29;--c-dce3d7:#282c24;--c-dce3db:#272c27;--c-dce4ce:#282d1e;--c-dce5d5:#272c22;--c-dce8dd:#242b24;--c-dcebdd:#222b22;--c-ddbf85:#473200;--c-dfe6d8:#272b22;--c-dfe7d8:#262b21;--c-dfe7d9:#262b22;--c-dfebc8:#252c14;--c-dfebd4:#242b1c;--c-dfecd4:#232b1c;--c-e1e7dc:#272a23;--c-e1e8d9:#262a21;--c-e2e5e3:#282928;--c-e3e8e1:#262925;--c-e3eacb:#272b16;--c-e4b351:#553100;--c-e4dfee:#2b2831;--c-e4e9d9:#272a1f;--c-e4efdf:#22291f;--c-e5eadd:#262921;--c-e5ebe2:#252923;--c-e5eccf:#262a17;--c-e6dfcb:#2f2b1d;--c-e6eeda:#24291c;--c-e7ebe3:#262823;--c-e7eee7:#060906;--c-e7f1eb:#060b08;--c-e8c884:#442e00;--c-e9ece5:#252723;--c-e9eee3:#070904;--c-e9eee4:#070905;--c-e9eee6:#070905;--c-e9f1e2:#070b04;--c-e9f2e5:#070c05;--c-e9f3ea:#070d08;--c-eaf0df:#070a03;--c-eaf0e2:#070a04;--c-eaf0e3:#070a04;--c-eaf6e8:#080f08;--c-ebeeea:#080907;--c-ecd7b4:#382a11;--c-ece0c3:#312916;--c-eceee9:#080907;--c-ecf0e7:#090b06;--c-ecf0e8:#090b07;--c-edc2be:#452927;--c-edc7be:#422924;--c-edf0e5:#090b05;--c-edf0e8:#090b07;--c-edf0e9:#090b07;--c-edf1e7:#090b06;--c-edf3e7:#0a0d07;--c-edf5e9:#0a0f08;--c-eed5b2:#3a2a11;--c-eeedf9:#0a090f;--c-eef0ef:#0a0b0b;--c-eef1e9:#0a0c08;--c-eef1fb:#0b0c12;--c-efb07c:#562a00;--c-efc4b1:#45291c;--c-eff5e9:#0c0f08;--c-f0f3eb:#0c0d09;--c-f0f3ed:#0c0e0a;--c-f0f4ef:#0c0e0c;--c-f1dda9:#372900;--c-f1f5e9:#0d0f08;--c-f1f5eb:#0d0f0a;--c-f1f5ed:#0d0f0b;--c-f2d2b9:#3d2817;--c-f2f5ed:#0e0f0b;--c-f2f6ec:#0e100a;--c-f2f6ee:#0e100c;--c-f3f6ee:#0f100c;--c-f3f7e8:#0f1108;--c-f4f1fa:#0e0d12;--c-f4f7ef:#0f110d;--c-f5f0fa:#0f0c11;--c-f5f1df:#0e0c03;--c-f5f8ef:#10120d;--c-f6f7f5:#111110;--c-f7deca:#352618;--c-f7ea87:#332700;--c-f7f9f3:#121310;--c-f7f9f4:#121310;--c-f7faf3:#121410;--c-f7faf4:#121411;--c-f8ecc5:#0e0700;--c-f8faf5:#131411;--c-f8faf6:#131412;--c-f8fbf1:#13150f;--c-f9ebea:#0f0808;--c-f9faf8:#141413;--c-f9fbf7:#141513;--c-faf0d3:#110b00;--c-fafbf8:#151513;--c-fbede7:#110a07;--c-fbfcf9:#161614;--c-fcf9ee:#15130d;--c-fff0c7:#140a00;--c-fff0e7:#140c07;--c-fff0ed:#140c0b;--c-fff1e9:#150d09;--c-fff2e2:#150d05;--c-fff3df:#150e04;--c-fff4d6:#150e00;--c-fff5e2:#161005;--c-fff6df:#161004;--c-fff7e6:#161208;--c-fff8e7:#171208;--c-fff9ea:#17130b;--c-fff9eb:#17130b;--c-fff9ed:#17140d;--c-ffffff:#191919;--c-ffffff99:#19191999}
/* Components that are already dark keep their light-theme colours in dark mode. */
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.sidebar,.login-art,#toast,.drag-tip,.booking-tooltip,.btn.primary){--bg:var(--c-f6f7f5);--paper:var(--c-ffffff);--ink:var(--c-20352f);--muted:var(--c-67746d);--line:var(--c-e3e8e1);--green:var(--c-235d4c);--pencil:var(--c-996715);--red:var(--c-b34b4b);--c-11223322:#11223322;--c-17342824:#17342824;--c-1734284d:#1734284d;--c-173a3540:#173a3540;--c-173d35:#173d35;--c-173d3533:#173d3533;--c-18352520:#18352520;--c-184c3d:#184c3d;--c-19372a40:#19372a40;--c-193e32:#193e32;--c-20352f:#20352f;--c-224c3a:#224c3a;--c-235d4c:#235d4c;--c-243f30:#243f30;--c-244834:#244834;--c-244c3b:#244c3b;--c-254e41:#254e41;--c-293b2115:#293b2115;--c-294735:#294735;--c-294a39:#294a39;--c-304e27:#304e27;--c-31513c:#31513c;--c-315e47:#315e47;--c-34796b:#34796b;--c-354b37:#354b37;--c-355448:#355448;--c-37503e:#37503e;--c-385139:#385139;--c-396542:#396542;--c-3d6036:#3d6036;--c-3e715b:#3e715b;--c-405041:#405041;--c-405a4a:#405a4a;--c-405e3e:#405e3e;--c-436256:#436256;--c-44623b:#44623b;--c-446257:#446257;--c-455b36:#455b36;--c-466149:#466149;--c-466256:#466256;--c-475d3a:#475d3a;--c-486648:#486648;--c-487d65:#487d65;--c-496251:#496251;--c-4a7241:#4a7241;--c-4c7c47:#4c7c47;--c-4d6840:#4d6840;--c-4f6146:#4f6146;--c-4f947d:#4f947d;--c-506842:#506842;--c-50715a:#50715a;--c-52649a:#52649a;--c-526831:#526831;--c-527247:#527247;--c-556d3f:#556d3f;--c-56634326:#56634326;--c-56743f:#56743f;--c-597868:#597868;--c-5c501c:#5c501c;--c-5d6d5d:#5d6d5d;--c-5e7051:#5e7051;--c-5f7f67:#5f7f67;--c-606f61:#606f61;--c-607752:#607752;--c-607e6855:#607e6855;--c-616e5d:#616e5d;--c-617556:#617556;--c-627850:#627850;--c-633b17:#633b17;--c-647156:#647156;--c-657759:#657759;--c-666e5e:#666e5e;--c-667559:#667559;--c-66765b:#66765b;--c-676b60:#676b60;--c-677462:#677462;--c-67746d:#67746d;--c-67755e:#67755e;--c-677563:#677563;--c-677658:#677658;--c-67765f:#67765f;--c-68745e:#68745e;--c-687469:#687469;--c-68755c:#68755c;--c-687561:#687561;--c-687569:#687569;--c-68765a:#68765a;--c-68765d:#68765d;--c-69755b:#69755b;--c-69755f:#69755f;--c-697560:#697560;--c-697561:#697561;--c-697563:#697563;--c-69765e:#69765e;--c-69775d:#69775d;--c-69775e:#69775e;--c-6a7463:#6a7463;--c-6a7464:#6a7464;--c-6a746c:#6a746c;--c-6a7a6f:#6a7a6f;--c-6b726c:#6b726c;--c-6b7560:#6b7560;--c-6b7664:#6b7664;--c-6b775e:#6b775e;--c-6c603c:#6c603c;--c-6c7760:#6c7760;--c-6d7462:#6d7462;--c-6e7462:#6e7462;--c-726099:#726099;--c-73966c:#73966c;--c-74976b:#74976b;--c-74a466:#74a466;--c-75568d:#75568d;--c-756087:#756087;--c-769783:#769783;--c-76a685:#76a685;--c-776d4c:#776d4c;--c-789364:#789364;--c-7b8675:#7b8675;--c-7b9a54:#7b9a54;--c-7eaa75:#7eaa75;--c-806826:#806826;--c-83aa87:#83aa87;--c-866325:#866325;--c-866f40:#866f40;--c-876e43:#876e43;--c-896c3c:#896c3c;--c-896d30:#896d30;--c-896e39:#896e39;--c-89967d:#89967d;--c-8a6b2d:#8a6b2d;--c-8a6d2e:#8a6d2e;--c-8a7034:#8a7034;--c-8baa79:#8baa79;--c-8d6c20:#8d6c20;--c-8e6611:#8e6611;--c-8e6b28:#8e6b28;--c-8eaa9c:#8eaa9c;--c-8f581f:#8f581f;--c-8f6e28:#8f6e28;--c-916a19:#916a19;--c-92a27d:#92a27d;--c-94b29f:#94b29f;--c-95671e:#95671e;--c-966421:#966421;--c-976633:#976633;--c-996715:#996715;--c-9ba692:#9ba692;--c-9bac8744:#9bac8744;--c-9bb086:#9bb086;--c-9bb473:#9bb473;--c-9bb784:#9bb784;--c-9ea48a09:#9ea48a09;--c-a04433:#a04433;--c-a04b3d:#a04b3d;--c-a0a789:#a0a789;--c-a15845:#a15845;--c-a15e30:#a15e30;--c-a35147:#a35147;--c-a4b694:#a4b694;--c-a5ba8d:#a5ba8d;--c-a65f3e:#a65f3e;--c-a8bea3:#a8bea3;--c-a9c293:#a9c293;--c-aa5d3c:#aa5d3c;--c-ad88cc18:#ad88cc18;--c-adbfad:#adbfad;--c-aec594:#aec594;--c-b34b4b:#b34b4b;--c-b5cbb4:#b5cbb4;--c-b6c7a5:#b6c7a5;--c-b6cc99:#b6cc99;--c-b6cca7:#b6cca7;--c-b7c99c:#b7c99c;--c-b7cec0:#b7cec0;--c-b8c9a1:#b8c9a1;--c-b99b57:#b99b57;--c-b9c9bd:#b9c9bd;--c-b9cbb5:#b9cbb5;--c-b9d899:#b9d899;--c-ba844333:#ba844333;--c-bac5b1:#bac5b1;--c-bac9b0:#bac9b0;--c-bb704113:#bb704113;--c-bc8e42:#bc8e42;--c-bcd1c6:#bcd1c6;--c-bd9550:#bd9550;--c-bda56c:#bda56c;--c-bf984e:#bf984e;--c-c19d55:#c19d55;--c-c3cbc1:#c3cbc1;--c-c3cebc:#c3cebc;--c-c4a15b:#c4a15b;--c-c58a29:#c58a29;--c-c5d8bd:#c5d8bd;--c-c6cec0:#c6cec0;--c-c7ceca:#c7ceca;--c-c7d0be:#c7d0be;--c-c8b8db:#c8b8db;--c-c9a259:#c9a259;--c-c9dab4:#c9dab4;--c-ca9d4f:#ca9d4f;--c-cad8bd:#cad8bd;--c-cbdccd:#cbdccd;--c-cc8a6e:#cc8a6e;--c-cda55e:#cda55e;--c-ce8c75:#ce8c75;--c-d1a35c:#d1a35c;--c-d1b47c:#d1b47c;--c-d2e1d3:#d2e1d3;--c-d4dace:#d4dace;--c-d6e0cd:#d6e0cd;--c-d6e4cf:#d6e4cf;--c-d8c18a:#d8c18a;--c-dbe2d7:#dbe2d7;--c-dce0db:#dce0db;--c-dce3d7:#dce3d7;--c-dce3db:#dce3db;--c-dce4ce:#dce4ce;--c-dce5d5:#dce5d5;--c-dce8dd:#dce8dd;--c-dcebdd:#dcebdd;--c-ddbf85:#ddbf85;--c-dfe6d8:#dfe6d8;--c-dfe7d8:#dfe7d8;--c-dfe7d9:#dfe7d9;--c-dfebc8:#dfebc8;--c-dfebd4:#dfebd4;--c-dfecd4:#dfecd4;--c-e1e7dc:#e1e7dc;--c-e1e8d9:#e1e8d9;--c-e2e5e3:#e2e5e3;--c-e3e8e1:#e3e8e1;--c-e3eacb:#e3eacb;--c-e4b351:#e4b351;--c-e4dfee:#e4dfee;--c-e4e9d9:#e4e9d9;--c-e4efdf:#e4efdf;--c-e5eadd:#e5eadd;--c-e5ebe2:#e5ebe2;--c-e5eccf:#e5eccf;--c-e6dfcb:#e6dfcb;--c-e6eeda:#e6eeda;--c-e7ebe3:#e7ebe3;--c-e7eee7:#e7eee7;--c-e7f1eb:#e7f1eb;--c-e8c884:#e8c884;--c-e9ece5:#e9ece5;--c-e9eee3:#e9eee3;--c-e9eee4:#e9eee4;--c-e9eee6:#e9eee6;--c-e9f1e2:#e9f1e2;--c-e9f2e5:#e9f2e5;--c-e9f3ea:#e9f3ea;--c-eaf0df:#eaf0df;--c-eaf0e2:#eaf0e2;--c-eaf0e3:#eaf0e3;--c-eaf6e8:#eaf6e8;--c-ebeeea:#ebeeea;--c-ecd7b4:#ecd7b4;--c-ece0c3:#ece0c3;--c-eceee9:#eceee9;--c-ecf0e7:#ecf0e7;--c-ecf0e8:#ecf0e8;--c-edc2be:#edc2be;--c-edc7be:#edc7be;--c-edf0e5:#edf0e5;--c-edf0e8:#edf0e8;--c-edf0e9:#edf0e9;--c-edf1e7:#edf1e7;--c-edf3e7:#edf3e7;--c-edf5e9:#edf5e9;--c-eed5b2:#eed5b2;--c-eeedf9:#eeedf9;--c-eef0ef:#eef0ef;--c-eef1e9:#eef1e9;--c-eef1fb:#eef1fb;--c-efb07c:#efb07c;--c-efc4b1:#efc4b1;--c-eff5e9:#eff5e9;--c-f0f3eb:#f0f3eb;--c-f0f3ed:#f0f3ed;--c-f0f4ef:#f0f4ef;--c-f1dda9:#f1dda9;--c-f1f5e9:#f1f5e9;--c-f1f5eb:#f1f5eb;--c-f1f5ed:#f1f5ed;--c-f2d2b9:#f2d2b9;--c-f2f5ed:#f2f5ed;--c-f2f6ec:#f2f6ec;--c-f2f6ee:#f2f6ee;--c-f3f6ee:#f3f6ee;--c-f3f7e8:#f3f7e8;--c-f4f1fa:#f4f1fa;--c-f4f7ef:#f4f7ef;--c-f5f0fa:#f5f0fa;--c-f5f1df:#f5f1df;--c-f5f8ef:#f5f8ef;--c-f6f7f5:#f6f7f5;--c-f7deca:#f7deca;--c-f7ea87:#f7ea87;--c-f7f9f3:#f7f9f3;--c-f7f9f4:#f7f9f4;--c-f7faf3:#f7faf3;--c-f7faf4:#f7faf4;--c-f8ecc5:#f8ecc5;--c-f8faf5:#f8faf5;--c-f8faf6:#f8faf6;--c-f8fbf1:#f8fbf1;--c-f9ebea:#f9ebea;--c-f9faf8:#f9faf8;--c-f9fbf7:#f9fbf7;--c-faf0d3:#faf0d3;--c-fafbf8:#fafbf8;--c-fbede7:#fbede7;--c-fbfcf9:#fbfcf9;--c-fcf9ee:#fcf9ee;--c-fff0c7:#fff0c7;--c-fff0e7:#fff0e7;--c-fff0ed:#fff0ed;--c-fff1e9:#fff1e9;--c-fff2e2:#fff2e2;--c-fff3df:#fff3df;--c-fff4d6:#fff4d6;--c-fff5e2:#fff5e2;--c-fff6df:#fff6df;--c-fff7e6:#fff7e6;--c-fff8e7:#fff8e7;--c-fff9ea:#fff9ea;--c-fff9eb:#fff9eb;--c-fff9ed:#fff9ed;--c-ffffff:#ffffff;--c-ffffff99:#ffffff99}}
:root[data-theme=dark] :is(.sidebar,.login-art,#toast,.drag-tip,.booking-tooltip,.btn.primary){--bg:var(--c-f6f7f5);--paper:var(--c-ffffff);--ink:var(--c-20352f);--muted:var(--c-67746d);--line:var(--c-e3e8e1);--green:var(--c-235d4c);--pencil:var(--c-996715);--red:var(--c-b34b4b);--c-11223322:#11223322;--c-17342824:#17342824;--c-1734284d:#1734284d;--c-173a3540:#173a3540;--c-173d35:#173d35;--c-173d3533:#173d3533;--c-18352520:#18352520;--c-184c3d:#184c3d;--c-19372a40:#19372a40;--c-193e32:#193e32;--c-20352f:#20352f;--c-224c3a:#224c3a;--c-235d4c:#235d4c;--c-243f30:#243f30;--c-244834:#244834;--c-244c3b:#244c3b;--c-254e41:#254e41;--c-293b2115:#293b2115;--c-294735:#294735;--c-294a39:#294a39;--c-304e27:#304e27;--c-31513c:#31513c;--c-315e47:#315e47;--c-34796b:#34796b;--c-354b37:#354b37;--c-355448:#355448;--c-37503e:#37503e;--c-385139:#385139;--c-396542:#396542;--c-3d6036:#3d6036;--c-3e715b:#3e715b;--c-405041:#405041;--c-405a4a:#405a4a;--c-405e3e:#405e3e;--c-436256:#436256;--c-44623b:#44623b;--c-446257:#446257;--c-455b36:#455b36;--c-466149:#466149;--c-466256:#466256;--c-475d3a:#475d3a;--c-486648:#486648;--c-487d65:#487d65;--c-496251:#496251;--c-4a7241:#4a7241;--c-4c7c47:#4c7c47;--c-4d6840:#4d6840;--c-4f6146:#4f6146;--c-4f947d:#4f947d;--c-506842:#506842;--c-50715a:#50715a;--c-52649a:#52649a;--c-526831:#526831;--c-527247:#527247;--c-556d3f:#556d3f;--c-56634326:#56634326;--c-56743f:#56743f;--c-597868:#597868;--c-5c501c:#5c501c;--c-5d6d5d:#5d6d5d;--c-5e7051:#5e7051;--c-5f7f67:#5f7f67;--c-606f61:#606f61;--c-607752:#607752;--c-607e6855:#607e6855;--c-616e5d:#616e5d;--c-617556:#617556;--c-627850:#627850;--c-633b17:#633b17;--c-647156:#647156;--c-657759:#657759;--c-666e5e:#666e5e;--c-667559:#667559;--c-66765b:#66765b;--c-676b60:#676b60;--c-677462:#677462;--c-67746d:#67746d;--c-67755e:#67755e;--c-677563:#677563;--c-677658:#677658;--c-67765f:#67765f;--c-68745e:#68745e;--c-687469:#687469;--c-68755c:#68755c;--c-687561:#687561;--c-687569:#687569;--c-68765a:#68765a;--c-68765d:#68765d;--c-69755b:#69755b;--c-69755f:#69755f;--c-697560:#697560;--c-697561:#697561;--c-697563:#697563;--c-69765e:#69765e;--c-69775d:#69775d;--c-69775e:#69775e;--c-6a7463:#6a7463;--c-6a7464:#6a7464;--c-6a746c:#6a746c;--c-6a7a6f:#6a7a6f;--c-6b726c:#6b726c;--c-6b7560:#6b7560;--c-6b7664:#6b7664;--c-6b775e:#6b775e;--c-6c603c:#6c603c;--c-6c7760:#6c7760;--c-6d7462:#6d7462;--c-6e7462:#6e7462;--c-726099:#726099;--c-73966c:#73966c;--c-74976b:#74976b;--c-74a466:#74a466;--c-75568d:#75568d;--c-756087:#756087;--c-769783:#769783;--c-76a685:#76a685;--c-776d4c:#776d4c;--c-789364:#789364;--c-7b8675:#7b8675;--c-7b9a54:#7b9a54;--c-7eaa75:#7eaa75;--c-806826:#806826;--c-83aa87:#83aa87;--c-866325:#866325;--c-866f40:#866f40;--c-876e43:#876e43;--c-896c3c:#896c3c;--c-896d30:#896d30;--c-896e39:#896e39;--c-89967d:#89967d;--c-8a6b2d:#8a6b2d;--c-8a6d2e:#8a6d2e;--c-8a7034:#8a7034;--c-8baa79:#8baa79;--c-8d6c20:#8d6c20;--c-8e6611:#8e6611;--c-8e6b28:#8e6b28;--c-8eaa9c:#8eaa9c;--c-8f581f:#8f581f;--c-8f6e28:#8f6e28;--c-916a19:#916a19;--c-92a27d:#92a27d;--c-94b29f:#94b29f;--c-95671e:#95671e;--c-966421:#966421;--c-976633:#976633;--c-996715:#996715;--c-9ba692:#9ba692;--c-9bac8744:#9bac8744;--c-9bb086:#9bb086;--c-9bb473:#9bb473;--c-9bb784:#9bb784;--c-9ea48a09:#9ea48a09;--c-a04433:#a04433;--c-a04b3d:#a04b3d;--c-a0a789:#a0a789;--c-a15845:#a15845;--c-a15e30:#a15e30;--c-a35147:#a35147;--c-a4b694:#a4b694;--c-a5ba8d:#a5ba8d;--c-a65f3e:#a65f3e;--c-a8bea3:#a8bea3;--c-a9c293:#a9c293;--c-aa5d3c:#aa5d3c;--c-ad88cc18:#ad88cc18;--c-adbfad:#adbfad;--c-aec594:#aec594;--c-b34b4b:#b34b4b;--c-b5cbb4:#b5cbb4;--c-b6c7a5:#b6c7a5;--c-b6cc99:#b6cc99;--c-b6cca7:#b6cca7;--c-b7c99c:#b7c99c;--c-b7cec0:#b7cec0;--c-b8c9a1:#b8c9a1;--c-b99b57:#b99b57;--c-b9c9bd:#b9c9bd;--c-b9cbb5:#b9cbb5;--c-b9d899:#b9d899;--c-ba844333:#ba844333;--c-bac5b1:#bac5b1;--c-bac9b0:#bac9b0;--c-bb704113:#bb704113;--c-bc8e42:#bc8e42;--c-bcd1c6:#bcd1c6;--c-bd9550:#bd9550;--c-bda56c:#bda56c;--c-bf984e:#bf984e;--c-c19d55:#c19d55;--c-c3cbc1:#c3cbc1;--c-c3cebc:#c3cebc;--c-c4a15b:#c4a15b;--c-c58a29:#c58a29;--c-c5d8bd:#c5d8bd;--c-c6cec0:#c6cec0;--c-c7ceca:#c7ceca;--c-c7d0be:#c7d0be;--c-c8b8db:#c8b8db;--c-c9a259:#c9a259;--c-c9dab4:#c9dab4;--c-ca9d4f:#ca9d4f;--c-cad8bd:#cad8bd;--c-cbdccd:#cbdccd;--c-cc8a6e:#cc8a6e;--c-cda55e:#cda55e;--c-ce8c75:#ce8c75;--c-d1a35c:#d1a35c;--c-d1b47c:#d1b47c;--c-d2e1d3:#d2e1d3;--c-d4dace:#d4dace;--c-d6e0cd:#d6e0cd;--c-d6e4cf:#d6e4cf;--c-d8c18a:#d8c18a;--c-dbe2d7:#dbe2d7;--c-dce0db:#dce0db;--c-dce3d7:#dce3d7;--c-dce3db:#dce3db;--c-dce4ce:#dce4ce;--c-dce5d5:#dce5d5;--c-dce8dd:#dce8dd;--c-dcebdd:#dcebdd;--c-ddbf85:#ddbf85;--c-dfe6d8:#dfe6d8;--c-dfe7d8:#dfe7d8;--c-dfe7d9:#dfe7d9;--c-dfebc8:#dfebc8;--c-dfebd4:#dfebd4;--c-dfecd4:#dfecd4;--c-e1e7dc:#e1e7dc;--c-e1e8d9:#e1e8d9;--c-e2e5e3:#e2e5e3;--c-e3e8e1:#e3e8e1;--c-e3eacb:#e3eacb;--c-e4b351:#e4b351;--c-e4dfee:#e4dfee;--c-e4e9d9:#e4e9d9;--c-e4efdf:#e4efdf;--c-e5eadd:#e5eadd;--c-e5ebe2:#e5ebe2;--c-e5eccf:#e5eccf;--c-e6dfcb:#e6dfcb;--c-e6eeda:#e6eeda;--c-e7ebe3:#e7ebe3;--c-e7eee7:#e7eee7;--c-e7f1eb:#e7f1eb;--c-e8c884:#e8c884;--c-e9ece5:#e9ece5;--c-e9eee3:#e9eee3;--c-e9eee4:#e9eee4;--c-e9eee6:#e9eee6;--c-e9f1e2:#e9f1e2;--c-e9f2e5:#e9f2e5;--c-e9f3ea:#e9f3ea;--c-eaf0df:#eaf0df;--c-eaf0e2:#eaf0e2;--c-eaf0e3:#eaf0e3;--c-eaf6e8:#eaf6e8;--c-ebeeea:#ebeeea;--c-ecd7b4:#ecd7b4;--c-ece0c3:#ece0c3;--c-eceee9:#eceee9;--c-ecf0e7:#ecf0e7;--c-ecf0e8:#ecf0e8;--c-edc2be:#edc2be;--c-edc7be:#edc7be;--c-edf0e5:#edf0e5;--c-edf0e8:#edf0e8;--c-edf0e9:#edf0e9;--c-edf1e7:#edf1e7;--c-edf3e7:#edf3e7;--c-edf5e9:#edf5e9;--c-eed5b2:#eed5b2;--c-eeedf9:#eeedf9;--c-eef0ef:#eef0ef;--c-eef1e9:#eef1e9;--c-eef1fb:#eef1fb;--c-efb07c:#efb07c;--c-efc4b1:#efc4b1;--c-eff5e9:#eff5e9;--c-f0f3eb:#f0f3eb;--c-f0f3ed:#f0f3ed;--c-f0f4ef:#f0f4ef;--c-f1dda9:#f1dda9;--c-f1f5e9:#f1f5e9;--c-f1f5eb:#f1f5eb;--c-f1f5ed:#f1f5ed;--c-f2d2b9:#f2d2b9;--c-f2f5ed:#f2f5ed;--c-f2f6ec:#f2f6ec;--c-f2f6ee:#f2f6ee;--c-f3f6ee:#f3f6ee;--c-f3f7e8:#f3f7e8;--c-f4f1fa:#f4f1fa;--c-f4f7ef:#f4f7ef;--c-f5f0fa:#f5f0fa;--c-f5f1df:#f5f1df;--c-f5f8ef:#f5f8ef;--c-f6f7f5:#f6f7f5;--c-f7deca:#f7deca;--c-f7ea87:#f7ea87;--c-f7f9f3:#f7f9f3;--c-f7f9f4:#f7f9f4;--c-f7faf3:#f7faf3;--c-f7faf4:#f7faf4;--c-f8ecc5:#f8ecc5;--c-f8faf5:#f8faf5;--c-f8faf6:#f8faf6;--c-f8fbf1:#f8fbf1;--c-f9ebea:#f9ebea;--c-f9faf8:#f9faf8;--c-f9fbf7:#f9fbf7;--c-faf0d3:#faf0d3;--c-fafbf8:#fafbf8;--c-fbede7:#fbede7;--c-fbfcf9:#fbfcf9;--c-fcf9ee:#fcf9ee;--c-fff0c7:#fff0c7;--c-fff0e7:#fff0e7;--c-fff0ed:#fff0ed;--c-fff1e9:#fff1e9;--c-fff2e2:#fff2e2;--c-fff3df:#fff3df;--c-fff4d6:#fff4d6;--c-fff5e2:#fff5e2;--c-fff6df:#fff6df;--c-fff7e6:#fff7e6;--c-fff8e7:#fff8e7;--c-fff9ea:#fff9ea;--c-fff9eb:#fff9eb;--c-fff9ed:#fff9ed;--c-ffffff:#ffffff;--c-ffffff99:#ffffff99}

/* The "more actions" dots are zero-length strokes; give them weight. */
.booking-quick svg,.entity-quick svg{stroke-width:3.2;width:16px;height:16px}

/* Functional page titles: compact, no marketing headline. */
.page-head{margin-bottom:14px;align-items:center}.page-head h1{font-size:20px;letter-spacing:-.3px}.page-head p{margin-top:4px;max-width:none}

/* Period figures: one compact strip above the board. */
.stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding:10px 14px;margin:0 0 12px;border:1px solid var(--line);background:var(--paper);grid-template-columns:none}.stats .kpi{font-size:12px;color:var(--muted)}.stats .kpi strong{font-size:15px;color:var(--ink);font-weight:650}.stats .kpi.attention strong{color:var(--pencil)}.stats .kpi-period{font-weight:650;color:var(--ink);margin-right:4px}

/* Colour key folds away; it is reference, not working space. */
.legend-key{border-top:1px solid var(--line)}.legend-key>summary{cursor:pointer;padding:8px 14px;font-size:12px;font-weight:600;color:var(--muted);list-style:none}.legend-key>summary::-webkit-details-marker{display:none}.legend-key>summary::before{content:"+ "}.legend-key[open]>summary::before{content:"- "}.legend-key .legend{border-top:0}
.board-top{row-gap:8px}
.board-top{column-gap:8px}.board-top .period{gap:4px}.date-jump input{width:128px}
.date-jump input{width:116px}

/* Needs attention: grouped compact lists. */
.issue-group{padding:16px 18px;margin-bottom:12px}.issue-group h2{font-size:15px;display:flex;align-items:center;gap:8px}.issue-group h2 .count{font-size:11px;font-weight:600;color:var(--muted);border:1px solid var(--line);padding:1px 6px}.issue-group>p{font-size:12px;margin:4px 0 8px}.issue-list,.issue-sublist{list-style:none;margin:0;padding:0}.issue-row{border-top:1px solid var(--line);padding:9px 0 9px 10px;border-left:3px solid var(--line)}.issue-row.error{border-left-color:var(--red)}.issue-row.warning{border-left-color:var(--pencil)}.issue-row strong{display:block;font-size:13px;font-weight:600}.issue-row small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.issue-row .links{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.issue-row details>summary{cursor:pointer;list-style:none}.issue-row details>summary::-webkit-details-marker{display:none}.issue-sublist{margin-top:6px}.issue-sublist .issue-row{border-left:0;padding-left:0}

/* Row labels: two lines that never wrap or overprint; full text on hover. */
.row-label .grow{min-width:0}.row-label .name,.row-label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.row-label .name{line-height:15px}.row-label small{line-height:15px;margin-top:2px}.timeline-compact .row-label .name,.timeline-compact .row-label small{line-height:14px;margin-top:0}

/* Minimal row labels: what the row is, nothing more. */
.row-label .grow{display:flex;align-items:center;gap:6px;min-width:0}.row-label .name{flex:0 1 auto;min-width:0}.row-label .role-count{font-weight:600;color:var(--muted);border:1px solid var(--line);padding:0 5px;margin-left:4px;font-size:11px}.row-label .role-review-note{flex:0 0 auto;border:0;background:none;padding:2px;color:var(--pencil);line-height:0}.row-label .role-review-note svg{width:15px;height:15px}.project-title small.covered{color:var(--green)}.project-title small.open{color:var(--pencil)}

.issue-summary{margin:8px 0;padding-left:18px}.issue-summary li{margin:2px 0}

/* Toasts sit bottom right on desktop, clear of the working column. */
@media (min-width:581px){#toast{left:auto;right:24px;bottom:24px;transform:none;max-width:420px}}

/* Navigation: five everyday places, the rest under More. */
.nav-more{display:none}.stats-tabs{margin-bottom:12px;display:inline-flex}
.more-nav{margin-bottom:6px}
@media (max-width:580px){
  .sidebar .nav{overflow-x:visible}
  .sidebar>.nav button,.sidebar>.nav .nav-more{display:flex;flex:1 1 0;width:auto;min-width:0;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;min-height:56px;position:relative}
  .sidebar>.nav button span{font-size:11px;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .sidebar>.nav button .count{display:block;position:absolute;top:4px;right:calc(50% - 22px);font-size:11px;min-width:18px;padding:0 4px}
  body.more-open .side-bottom{display:block!important;position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));background:var(--c-173d35);z-index:45;padding:8px 12px;border-top:1px solid var(--c-446257)}
  body.more-open .side-bottom .profile{display:flex}
  body.more-open .side-bottom .nav{flex-direction:column;height:auto;overflow:visible}
  body.more-open .side-bottom .nav button{display:flex;flex-direction:row;width:100%;flex:none;min-height:44px;align-items:center;gap:10px;padding:8px}
  body.more-open .side-bottom .profile button{min-width:44px;min-height:44px}
}
@media (max-width:580px){
  body.more-open .sidebar .side-bottom .nav{display:flex!important;flex-direction:column;height:auto}
  body.more-open .sidebar .side-bottom .nav button{display:flex!important;width:100%!important;flex:none!important;flex-direction:row!important;justify-content:flex-start;color:var(--c-e8eddd)}
  body.more-open .sidebar .side-bottom .nav button span{font-size:14px}
  body.more-open .sidebar .side-bottom .profile{display:flex!important;align-items:center;gap:10px;padding-top:8px;color:var(--c-e8eddd)}
  body.more-open .sidebar .side-bottom .profile .stack{display:flex!important}
}

@media (min-width:581px){.sidebar .more-nav button[data-view]{display:flex}}

/* On a phone the bottom navigation stays when the schedule is maximised, so every view stays reachable. */
@media (max-width:580px){body.focus-mode .sidebar{display:flex!important}}
@media (max-width:580px){body.focus-mode .sidebar{position:fixed!important;inset:auto 0 0 0!important;height:auto;z-index:60}body.focus-mode .shell{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}
@media (max-width:580px){body.focus-mode .shell{height:calc(100dvh - 64px - env(safe-area-inset-bottom));max-height:calc(100dvh - 64px - env(safe-area-inset-bottom));overflow:auto;padding-bottom:0}}
@media (max-width:580px){body.focus-mode .shell{height:calc(100dvh - 65px - env(safe-area-inset-bottom));max-height:calc(100dvh - 65px - env(safe-area-inset-bottom))}}

@media (max-width:580px){.board-top [data-action=compact],.board-top [data-action=jump-month]{display:none}.report-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-stats>*{width:auto;min-width:0}}

.check-row{display:flex;align-items:center;gap:10px;margin-top:18px;font-weight:550}.check-row input{width:18px;height:18px;min-height:0;margin:0;flex:none}
.btn.primary:disabled{background:var(--c-e3e8e1);border-color:var(--c-e3e8e1);color:var(--muted);opacity:1}

.check-list{border:1px solid var(--line);max-height:220px;overflow:auto;padding:6px 10px;background:var(--paper)}.check-list .check-filter{width:100%;margin:2px 0 6px}.check-list .check-row{margin:0;min-height:32px;font-weight:450}.check-list .check-row[hidden]{display:none}

/* Keyboard access */
.skip-link{position:absolute;left:8px;top:-40px;z-index:200;background:var(--paper);color:var(--ink);border:2px solid var(--green);padding:8px 12px}.skip-link:focus{top:8px}
/* A teammate's highlight must not hide your own focus ring. */
.peer-highlight:focus-visible{outline:3px solid var(--c-4f947d)!important;outline-offset:3px;box-shadow:0 0 0 6px var(--peer-color)}

.setup-steps{padding:16px 18px;margin-bottom:12px}.setup-steps h2{font-size:15px;margin-bottom:8px}.setup-steps ol{margin:0;padding-left:20px}.setup-steps li{padding:8px 0;border-top:1px solid var(--line)}.setup-steps li>*{vertical-align:middle}.setup-steps li{display:list-item}.setup-steps li .grow{display:inline-flex;flex-direction:column;min-width:260px}.setup-steps li .row{display:inline-flex;gap:6px;margin-left:12px}.setup-steps small{color:var(--muted);font-size:12px}.setup-steps li.done strong{text-decoration:line-through;color:var(--muted)}

/* Short bars: names truncate inside the bar instead of spilling. */
.compact-booking .booking-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.compact-booking{padding:0 3px}

/* Optional features: hidden when switched off in Settings (data is kept). */
.no-lieu .feat-lieu,.no-lieu [data-action=lieu-balances],.no-lieu [data-action=book-lieu],.no-lieu option[value=lieu],
.no-contact .communication-tag,.no-contact [class*="communication-"]:not(.feat-keep),.no-contact #filter-communication,.no-contact .field:has([name=communicationStatus]),
.no-engagement .feat-engagement,.no-engagement #people-employment,.no-engagement .field:has([name=employmentType]){display:none!important}

@media (min-width:581px){.sidebar>.nav .nav-more{display:none}}

/* Project stage chips and the phone layout of the schedule screen. */
.stage-tabs{flex:none}.filters-toggle{display:none}.rl-short{display:none}
@media (max-width:580px){
.filters{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px}
.filters .stage-tabs{flex:1 1 auto}.filters .stage-tabs button{padding:6px 9px;font-size:12px}
.filters .filters-toggle{display:inline-flex;align-items:center;gap:5px;min-height:32px}.filters .filters-toggle .count{background:var(--c-173d35);color:#fff;padding:0 6px;font-size:11px}
.filters:not(.open)>:not(.stage-tabs):not(.filters-toggle){display:none!important}
.filters.open>.search{flex:1 1 100%}
.stats{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:14px;padding:8px 10px;white-space:nowrap;-webkit-overflow-scrolling:touch}
.stats .kpi-period{display:none}.stats .kpi{font-size:12px;flex:none}
.page-head{flex-direction:row;align-items:center;flex-wrap:wrap}.page-head h1{flex:1 1 auto}
.page-actions{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:6px}.page-actions .btn{flex:none;padding:7px 10px}
.roster-status{padding:6px 12px;gap:6px}.roster-status .btn{padding:4px 8px;min-height:26px}
:root{--gutter:150px}.timeline-compact{--gutter:136px}.project-label>svg{display:none}
.rl-long{display:none}.rl-short{display:inline}
.project-label .project-title{font-size:12px}.row-label .name{max-width:96px}
}
@media (max-width:580px){
.timeline-scroll-guide{display:none}
.board-top{padding:8px 10px;gap:6px}.board-top .tabs button{padding:6px 9px;font-size:12px}
.board-top .period{gap:2px}
.filters .filters-toggle{padding:6px 10px}.filters .filters-toggle{font-size:0}.filters .filters-toggle svg{font-size:14px}.filters .filters-toggle .count{font-size:11px}
.roster-status strong{width:auto;font-size:11px}.roster-status .btn{font-size:11px}
.roster-status [data-action]:not(.primary) svg{display:none}
}
@media (max-width:580px){.shell:has(#timeline) .page-head h1{display:none}.page-head{margin-bottom:8px}.page-actions{width:100%}.page-actions .btn{flex:1 1 auto;justify-content:center}.page-actions [data-action=export]{flex:none}.stats{margin-bottom:8px}.demo-banner{padding:6px 10px}}
@media (max-width:580px){.board-top .btn.small{padding:4px 8px;min-height:28px;font-size:12px}.board-top .date-jump input{width:112px}}
@media (max-width:580px){
.board-top .tabs button{padding:5px 6px;font-size:11px}
.board-top{align-items:center}
.board-top [data-action=focus],.board-top [data-action=fit]{padding:4px 6px}
.board-top [data-action=focus] svg{display:none}
.board-top .period{flex:1 1 100%;justify-content:space-between}
.board-top .period strong{min-width:0;font-size:12px}
.board-top .date-jump input{width:104px}
}

/* One-by-one review of the Needs attention list. */
.review-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:12px}.review-counts{display:flex;flex-wrap:wrap;gap:6px 16px;flex:1 1 auto;font-size:13px}
.review-card{padding:20px;margin-bottom:12px;border-left:4px solid var(--c-c58a29)}.review-card.error{border-left-color:var(--c-b34b4b)}.review-card h2{font-size:19px;margin:6px 0 8px;line-height:1.35}.review-card .links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.review-progress{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--c-69755b);margin-bottom:12px}.review-progress i{display:block;height:3px;background:var(--c-dfe7d8)}.review-progress i::after{content:"";display:block;height:100%;width:var(--p);background:var(--c-315e47)}
.review-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.review-nav .grow{flex:1}
