/* WRITTEN project components using the copied Wiser theme and WES palette. */
.content{max-width:1700px}.brand{flex-wrap:nowrap}.brand-name{font-size:23px}.sidebar .brand-expansion{font-size:10px;line-height:1.45;letter-spacing:0}.sidebar .workspace{margin:22px 0}.sidebar-account .user-card{padding-top:0}.sidebar-bottom .signout{padding-left:0}.topbar .avatar{display:inline-flex}.title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.title p{font-size:12px;color:var(--muted);margin:0}.title form{display:flex;align-items:flex-end;gap:12px}.title label{margin:0}.title input{width:110px}.stats{margin:25px 0}.stats section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;color:var(--muted);font-size:11px}.stats strong{color:var(--ink);font-size:35px;font-weight:550;margin:7px 0}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;margin:23px 0}.card h2{margin-bottom:16px}.scroll{overflow-x:auto}table{white-space:nowrap}th,td{padding:13px 16px}td input{min-width:110px;padding:9px;margin:0}td input[name=name]{min-width:190px}td input[type=number]{width:65px;min-width:65px}.timeline{min-width:250px}.yearline{min-width:440px}.track{height:24px;position:relative;border-radius:4px;background:repeating-linear-gradient(90deg,#f6eef1 0,#f6eef1 calc(8.333% - 1px),#ecdfe4 calc(8.333% - 1px),#ecdfe4 8.333%)}.bar{position:absolute;height:18px;top:3px;background:#dba6b8;border-radius:4px;overflow:hidden;min-width:3px}.bar i{display:block;height:100%;background:var(--cherry)}.pill{display:inline-block;background:#f5e7ec;color:#714654;border-radius:6px;padding:4px 9px;font-size:10px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px}.grid label{min-width:0}.wide{grid-column:1/-1}.muted{font-size:12px}button{border:0;background:var(--cherry);color:#fff;padding:12px 20px;border-radius:8px;font-size:12px;font-weight:600}button:hover{background:#851235}.quiet{background:#f1e9ec;color:var(--ink);border:1px solid #e6dbdf}.quiet:hover{background:#e9dbe1}.nas{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f3e3e8;border:1px solid #e8c9d3;padding:22px 24px;border-radius:12px;margin:24px 0}.nas p{margin:8px 0}.nas small{color:#75525e}.nas code{overflow-wrap:anywhere;white-space:normal}.nas form{flex-shrink:0}.success{padding:14px 18px;border-radius:8px;background:#edf8ef;color:#276335;border:1px solid #d4e9d9;margin:20px 0}.alert{margin-bottom:20px}.empty{text-align:center;padding:45px;color:var(--muted)}details{margin-top:20px}summary{cursor:pointer;color:var(--cherry);font-weight:600;margin-bottom:18px}small{display:block}.login-page{background:var(--paper)}.login-shell{margin:0;max-width:none;padding:0}.login-story .brand-name{font-size:27px}.login-form .brand-name{font-size:25px}.login-form .brand{flex-wrap:nowrap}.login-form .brand-expansion{max-width:none}.login-story>small{display:block}.login-form .button{width:100%}.footer{color:var(--muted);font-size:12px}.footer span{display:inline}.workspace-page .sidebar nav{margin-bottom:25px}.content>.title:first-child{margin-top:0}.content> a:first-child{font-size:12px}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.title{align-items:flex-start;flex-wrap:wrap}.nas{flex-wrap:wrap}}
@media(max-width:700px){.workspace-page .sidebar{position:relative;inset:auto;width:100%;transform:none;padding:18px;box-shadow:none;overflow:visible}.sidebar .brand{max-width:330px}.sidebar-account,.sidebar .workspace,.sidebar .nav-label,.sidebar-bottom .grow-card,.sidebar nav[aria-label="WES applications"]{display:none}.workspace-page .sidebar nav{display:flex;flex-wrap:wrap;margin:16px 0 0;gap:5px}.sidebar nav a{padding:9px;font-size:11px}.sidebar nav a span{font-size:14px;width:15px}.sidebar-bottom{margin:6px 0 0}.sidebar-bottom form{text-align:right}.sidebar .signout{min-height:24px;padding:3px 0}.app{margin-left:0}.topbar{height:56px}.topbar .breadcrumb{display:block}.topbar-right{font-size:9px}.content{padding:24px 16px}.grid{grid-template-columns:1fr}.card{padding:18px}.title{flex-direction:column;align-items:stretch}.title form{flex-wrap:wrap}.stats{grid-template-columns:repeat(2,1fr)}.nas{padding:18px}.login-form .brand-name{font-size:23px}.login-form>div{width:100%;max-width:380px}.footer{padding:0 16px 20px}}
@media(max-width:950px){.login-shell{grid-template-columns:1fr}.login-story{display:none}.login-form{min-height:100vh;padding:45px 25px}.login-form>div{max-width:380px;width:100%}}
/* Header/footer match Wiser's shared workspace chrome. */
.account-identity{padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink)}.account-identity small{font-size:10px;color:var(--muted);margin-top:3px}.topbar-account{margin:0}.topbar-account summary{margin:0}.topbar-account-menu{font-size:13px}.topbar-account-menu a:hover,.topbar-account-menu button:hover{background:var(--paper);color:var(--cherry)}.app{min-height:100vh;display:flex;flex-direction:column}.content{width:100%;flex:1}.footer.wes-copyright{padding:0 38px 25px;gap:6px;font-size:12px;line-height:1.5}.footer.wes-copyright span{display:inline}
@media(max-width:700px){.workspace-page .sidebar{position:fixed;inset:0 auto 0 0;width:248px;transform:translateX(-100%);padding:31px 20px 15px;overflow-y:auto;box-shadow:10px 0 40px #3e182515;z-index:40}.workspace-page.nav-open .sidebar{transform:translateX(0)}.sidebar-account,.sidebar .workspace,.sidebar .nav-label,.sidebar-bottom .grow-card{display:block}.sidebar .workspace{display:flex}.workspace-page .sidebar nav,.sidebar nav[aria-label="WES applications"]{display:grid;margin:0 0 25px;gap:7px}.sidebar nav a{padding:12px;font-size:13px}.sidebar nav a span{font-size:19px;width:20px}.sidebar-bottom{margin-top:auto}.sidebar-bottom form{text-align:left}.sidebar .signout{min-height:40px;padding-top:10px}.topbar{height:62px;padding:0 18px}.topbar .breadcrumb{display:none}.menu-toggle{padding:0;min-width:24px}.menu-toggle:hover{background:transparent}.footer.wes-copyright{padding:0 18px 20px}}
/* Per-project colours with automatic contrasting text. */
.project-coloured{background:var(--project-bg);color:var(--project-ink)}.project-coloured td,.project-coloured a,.project-coloured small,.project-coloured p,.project-coloured h1,.project-coloured .eyebrow{color:var(--project-ink)}.project-coloured td{background:var(--project-bg)}.project-banner{padding:24px;border:1px solid var(--line);border-radius:12px;margin-top:18px}.project-coloured .pill{background:var(--project-bg);color:var(--project-ink);border:1px solid currentColor}.project-coloured .track{border:1px solid #b78a9a}.project-coloured a:focus-visible{outline:2px solid currentColor}input[type=color]{width:100%;height:44px;padding:4px;cursor:pointer}#colour-help{font-size:10px;font-weight:400;color:var(--muted);margin-top:6px}

/* Gantt bars inherit each project's selected colour; task bars receive the same colour directly. */
.track .bar{background:var(--project-bg,#a71942);border:1px solid var(--project-ink,#39131f);box-shadow:0 1px 2px #00000018}.track .bar i{background:var(--project-ink,#39131f);opacity:.22}
