500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--pink:#eb3b61;--ink:#27262a;--muted:#85848a;--line:#eeedf0;--bg:#f8f7f8;--green:#258566;--amber:#b7791f;--red:#cf4557;--purple:#7663bd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}.loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px;color:#999;font-size:12px}.loading img{width:145px}.shell{min-height:100vh;display:flex}.side{width:246px;background:white;border-right:1px solid var(--line);padding:25px 17px 19px;display:flex;flex-direction:column;flex-shrink:0}.brand{padding:0 14px 25px;border-bottom:1px solid var(--line)}.brand img{width:155px}.brand small{display:block;margin:12px 0 0 1px;color:#999;text-transform:uppercase;letter-spacing:1.4px;font-size:9px;font-weight:700}.workspace{margin:20px 5px 23px;padding:11px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;gap:9px}.ws-icon{width:30px;height:30px;border-radius:8px;background:#fff0f3;color:var(--pink);display:grid;place-items:center;font-weight:800}.workspace b{font-size:11px}.workspace small{display:block;color:#999;font-size:9px;margin-top:3px}.nav-label{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#a5a3a8;font-weight:700;margin:5px 13px 8px}.nav{display:grid;gap:3px}.nav button{border:0;background:none;text-align:left;border-radius:8px;padding:10px 12px;color:#747179;display:flex;align-items:center;gap:10px;font-size:12px}.nav button .ico{width:17px;text-align:center;font-size:15px}.nav button.active{background:#fff0f3;color:#d93357;font-weight:700}.side-bottom{margin-top:auto}.support{background:#faf9fa;border-radius:9px;padding:13px;margin:0 2px 17px}.support b{font-size:11px}.support p{font-size:10px;line-height:1.5;color:#8c8990;margin:6px 0}.profile{border-top:1px solid var(--line);padding:14px 7px 0;display:flex;align-items:center;gap:9px}.avatar{width:32px;height:32px;border-radius:50%;background:#f5d7de;color:#b52e4c;display:grid;place-items:center;font-size:10px;font-weight:700;flex-shrink:0}.profile b{display:block;font-size:11px}.profile small{display:block;color:#999;font-size:9px;margin-top:2px}.logout{margin-left:auto;border:0;background:none;color:#aaa;font-size:14px}.main{flex:1;min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between}.crumb{font-size:11px;color:#999}.crumb b{color:#343238}.top-user{display:flex;align-items:center;gap:10px;color:#777;font-size:10px}.top-user .avatar{width:29px;height:29px}.content{max-width:1320px;margin:auto;padding:32px 38px 50px}.heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;font-weight:700;color:var(--pink);margin-bottom:7px}.heading h1{font:700 26px 'Manrope',sans-serif;letter-spacing:-.7px;margin:0}.heading p{margin:6px 0 0;color:#89868d;font-size:11px}.btn{border:0;border-radius:7px;padding:10px 13px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:7px}.primary{background:var(--pink);color:white;box-shadow:0 3px 8px #eb3b6125}.secondary{background:white;border:1px solid var(--line);color:#5b5960}.danger{background:#fff0f1;color:#bf4051}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:19px}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:15px 17px;position:relative}.stat span{color:#85828a;font-size:10px}.stat strong{font:700 25px 'Manrope',sans-serif;display:block;margin-top:8px}.stat small{font-size:9px;color:#929097}.stat:after{content:'';position:absolute;left:0;bottom:0;width:55%;height:2px;background:var(--pink);border-radius:0 3px}.stat:nth-child(2):after{background:var(--green)}.stat:nth-child(3):after{background:#e3ac52}.stat:nth-child(4):after{background:#d75a68}.panel{background:white;border:1px solid var(--line);border-radius:10px}.panel-head{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h2{font:700 13px 'Manrope',sans-serif;margin:0}.panel-head p{font-size:10px;color:#999;margin:4px 0 0}.filters{display:flex;gap:8px}.filters input,.filters select{border:1px solid var(--line);border-radius:7px;background:white;padding:8px 9px;font-size:10px;outline:0}.filters input{width:190px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:780px}.table th{text-align:left;font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:#999;background:#fbfafb;padding:10px 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.table td{padding:13px 17px;border-bottom:1px solid #f1f0f2;font-size:10px}.table tr:last-child td{border-bottom:0}.project-row{cursor:pointer}.project-row:hover{background:#fdfafb}.project-cell{display:flex;align-items:center;gap:9px}.project-mark{height:32px;width:32px;border-radius:8px;background:#fdf0f3;color:#d94a66;display:grid;place-items:center}.project-cell b{font-size:11px;display:block}.project-cell small{font-size:9px;color:#999}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:20px;font-size:9px;font-weight:700;white-space:nowrap}.status:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%}.on_track{background:#eaf6f1;color:#268464}.attention{background:#fff5e5;color:#ad771e}.late{background:#fff0f1;color:#c54c5c}.completed{background:#f0eef8;color:#7663bd}.track{width:70px;height:5px;background:#efedf0;border-radius:5px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:6px}.track i{height:100%;display:block;background:#64b196}.muted{color:#96939a}.empty{padding:36px;text-align:center;color:#999;font-size:11px}.project-hero{padding:23px 26px;border-radius:13px;background:linear-gradient(112deg,#29262d,#4a3540 58%,#d23d5d);color:white;margin-bottom:14px;position:relative;overflow:hidden}.project-hero:after{content:'✳';position:absolute;right:8%;top:-48px;font-size:230px;color:#ffffff12}.hero-row{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.project-hero h1{font:800 26px 'Manrope',sans-serif;margin:7px 0 4px}.project-hero p{color:#ffffffb9;font-size:10px;margin:0;max-width:620px}.hero-meta{color:#ffffffa5;text-transform:uppercase;letter-spacing:1.3px;font-weight:700;font-size:9px}.hero-kpis{display:flex;gap:23px;margin-top:20px;position:relative;z-index:1}.hero-kpi{min-width:110px}.hero-kpi span{font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:#ffffffa0;display:block}.hero-kpi b{font:700 16px 'Manrope',sans-serif;display:block;margin-top:5px}.hero-progress-line{height:4px;width:150px;border-radius:4px;background:#ffffff33;margin-top:6px}.hero-progress-line i{display:block;height:100%;background:#fff;border-radius:4px}.project-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.85fr);gap:13px}.block{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px 18px;margin-bottom:12px}.block h2{font:700 13px 'Manrope',sans-serif;margin:0}.block-sub{font-size:9px;color:#999;margin:4px 0 12px}.step-list{display:grid;gap:8px}.step-row{display:grid;grid-template-columns:24px minmax(90px,1fr) minmax(115px,auto) minmax(80px,auto);align-items:center;gap:9px;padding:10px;border:1px solid #f0eef1;border-radius:9px}.step-row.current{border-color:#f2c9d2;background:#fffafb}.step-mark{width:21px;height:21px;border-radius:50%;background:#f1eff2;color:#999;display:grid;place-items:center;font-size:9px;font-weight:700}.step-row.done .step-mark{background:#eaf6f1;color:#258566}.step-row.current .step-mark{background:var(--pink);color:white}.step-info b,.step-owner b{font-size:10px;display:block}.step-info small,.step-owner small{font-size:8px;color:#999;display:block;margin-top:3px}.step-owner select,.step-row select{max-width:140px;border:1px solid var(--line);border-radius:6px;padding:5px;font-size:9px;background:#fff}.step-state{font-size:8px;color:#999;text-align:right}.step-row.current .step-state{color:#ce3857;font-weight:700}.step-row.done .step-state{color:#258566}.person{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f1f0f2}.person:last-child{border:0}.person .avatar{width:28px;height:28px}.person b{font-size:9px;display:block}.person small{font-size:8px;color:#999;display:block;margin-top:2px}.tag{margin-left:auto;border-radius:10px;background:#f5f3f5;padding:4px 7px;font-size:8px;color:#777}.owner-card{border:1px solid #f5dfe4;background:#fff7f8;border-radius:8px;padding:11px;margin-top:9px}.owner-card small{display:block;font-size:8px;color:#999;margin-top:5px}.file-list,.comment-list{display:grid;gap:7px}.file-item{display:flex;align-items:center;gap:8px;border:1px solid #f0eef1;padding:8px;border-radius:8px}.file-ico{width:26px;height:26px;background:#fff0f3;color:#d63c5d;border-radius:7px;display:grid;place-items:center}.file-item b{font-size:9px;display:block}.file-item small{font-size:8px;color:#999}.file-item a{margin-left:auto;color:var(--pink);font-size:10px;text-decoration:none}.uploadbox{margin-top:8px;border:1px dashed #e5dfe5;border-radius:8px;padding:9px;text-align:center;font-size:9px;color:#999}.uploadbox label{color:var(--pink);font-weight:700;cursor:pointer}.uploadbox input{display:none}.inline-form{display:flex;gap:6px;margin-top:8px}.inline-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:7px;padding:8px;font-size:9px}.inline-form button{border:0;background:#fff0f3;color:#d33959;font-size:9px;font-weight:700;border-radius:7px;padding:0 9px}.comment{border-left:2px solid #f1b8c4;padding:1px 0 2px 9px}.comment b{font-size:9px}.comment small{color:#aaa;font-size:8px;margin-left:5px}.comment p{font-size:9px;line-height:1.55;color:#666;margin:4px 0 0;white-space:pre-wrap}.comment-form{display:grid;gap:6px;margin-top:9px}.comment-form textarea{resize:vertical;min-height:58px;border:1px solid var(--line);border-radius:7px;padding:8px;font-size:9px}.form-card{max-width:730px;background:white;border:1px solid var(--line);border-radius:11px;padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:5px;margin-bottom:11px}.field label{font-size:9px;font-weight:700;color:#666}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:7px;padding:9px;font-size:10px;outline:none}.field textarea{min-height:90px;resize:vertical}.field.full{grid-column:1/-1}.hint{font-size:8px;color:#999;line-height:1.5}.list-cards{display:grid;gap:8px}.list-card{background:white;border:1px solid var(--line);border-radius:9px;padding:12px 14px;display:flex;align-items:center;gap:11px}.list-card b{font-size:10px;display:block}.list-card small{font-size:8px;color:#999;display:block;margin-top:3px}.badge-role{margin-left:auto;border-radius:10px;padding:4px 8px;background:#f6f4f6;font-size:8px;color:#777}.login-wrap{min-height:100vh;background:#f7f5f6;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:linear-gradient(140deg,#2c272b,#4b3741 58%,#d43a5d);padding:8vh 9%;display:flex;flex-direction:column;justify-content:space-between;color:white;position:relative;overflow:hidden}.login-brand:after{content:'✳';position:absolute;right:-15%;top:17%;font-size:480px;color:#ffffff0d}.login-brand img{width:178px;background:white;padding:7px;border-radius:3px;position:relative;z-index:1}.login-brand h1{font:800 37px 'Manrope',sans-serif;max-width:470px;line-height:1.2;position:relative;z-index:1}.login-brand p{color:#ffffffad;font-size:12px;line-height:1.7;max-width:380px;position:relative;z-index:1}.login-card{display:grid;place-items:center;padding:25px}.login-inner{width:min(380px,100%)}.login-inner h2{font:700 23px 'Manrope',sans-serif;margin:0 0 7px}.login-inner>p{color:#929097;font-size:11px;margin:0 0 22px}.login-inner .field{margin-bottom:13px}.login-inner .field input{padding:11px}.login-inner .btn{width:100%;justify-content:center;margin-top:5px}.toast{position:fixed;right:22px;bottom:22px;background:#302e34;color:white;padding:12px 15px;border-radius:8px;font-size:11px;box-shadow:0 8px 28px #0002;opacity:0;transform:translateY(7px);transition:.2s;pointer-events:none;z-index:9}.toast.show{opacity:1;transform:translateY(0)}.hidden{display:none!important}.error-text{color:#c34756;font-size:9px;min-height:14px;margin-top:7px}.empty-state{padding:34px;text-align:center;color:#98959b;font-size:10px;line-height:1.7}.logout:hover,.nav button:hover,.back:hover{color:var(--pink)}.back{border:0;background:none;color:#777;font-size:10px;padding:0 0 12px}
@media(max-width:980px){.side{width:205px}.content{padding:25px 23px}.topbar{padding:0 23px}.project-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.side{width:57px;padding:15px 7px}.brand{padding:4px 1px 14px}.brand img{width:42px;height:30px;object-fit:cover;object-position:left}.brand small,.workspace,.nav-label,.nav button .nav-text,.nav button .badge,.support,.profile>div:not(.avatar),.logout{display:none}.nav{margin-top:15px}.nav button{padding:11px 7px;justify-content:center}.profile{justify-content:center;padding:13px 0 0}.topbar{height:58px;padding:0 12px}.content{padding:21px 12px}.heading h1{font-size:21px}.heading{align-items:flex-start}.stats{gap:7px}.stat{padding:12px}.stat strong{font-size:22px}.panel-head{align-items:flex-start;flex-direction:column}.filters{width:100%}.filters input{flex:1}.hero-kpis{gap:12px;flex-wrap:wrap}.project-hero{padding:18px}.project-hero h1{font-size:22px}.step-row{grid-template-columns:22px minmax(65px,1fr) minmax(90px,auto);gap:6px;padding:8px}.step-state{grid-column:2/4;text-align:left}.step-owner select{max-width:100px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.login-wrap{grid-template-columns:1fr}.login-brand{min-height:240px;padding:28px}.login-brand img{width:135px}.login-brand h1{font-size:26px;margin:25px 0 8px}.login-brand p{display:none}.login-card{align-items:start;padding:29px 20px}.login-inner h2{font-size:21px}}

.step-controls{display:grid;gap:4px}.stage-progress{display:flex;align-items:center;gap:5px;font-size:8px;color:#999}.stage-progress input{width:72px;height:12px;accent-color:#eb3b61}

/* High-contrast primary action and transparent brand asset */
.login-inner .btn.primary,.login-inner .btn.primary:disabled{background-color:#e53259!important;color:#fff!important;opacity:1!important;text-shadow:0 1px 1px #8f1d35;min-height:46px;font-size:12px;}
.login-brand img{width:210px;background:transparent!important;padding:0!important;border-radius:0!important;display:block;}

/* Larger, more readable type and solid contrast for every action button */
body{font-size:16px}
.loading,.toast{font-size:14px}
.brand small,.workspace b,.workspace small,.nav-label,.nav button,.support b,.support p,.profile b,.profile small,.crumb,.top-user{font-size:13px}
.nav button{min-height:42px}
.content{max-width:1440px}
.content .eyebrow{font-size:12px}
.heading h1,.project-hero h1{font-size:30px}
.heading p,.project-hero p,.hero-meta{font-size:14px}
.btn{font-size:14px;padding:12px 16px}
.btn.secondary{background:#403d45!important;color:#fff!important;border:1px solid #403d45!important}
.btn.danger{background:#bd3048!important;color:#fff!important}
.stat span,.stat small,.panel-head p,.filters input,.filters select,.table td,.project-cell small,.status,.empty,.block-sub,.step-info small,.step-owner small,.step-state,.person small,.tag,.owner-card small,.file-item small,.file-item a,.uploadbox,.inline-form input,.inline-form button,.comment b,.comment small,.comment p,.comment-form textarea,.field label,.field input,.field textarea,.field select,.hint,.list-card small,.badge-role,.login-inner>p,.error-text,.empty-state{font-size:13px}
.stat strong{font-size:28px}
.panel-head h2,.block h2{font-size:17px}
.table th{font-size:12px}
.table td{padding-top:15px;padding-bottom:15px}
.project-cell b,.step-info b,.step-owner b,.file-item b,.list-card b{font-size:14px}
.hero-kpi span{font-size:12px}
.hero-kpi b{font-size:20px}
.step-row{padding:12px}
.step-mark{font-size:12px}
.person b,.comment b{font-size:13px}
.field{gap:7px}
.field input,.field textarea,.field select,.filters input,.filters select,.inline-form input,.comment-form textarea{padding:11px}
.login-inner h2{font-size:26px}
.login-inner .field label{font-size:14px}
.login-inner .field input{font-size:15px;padding:13px}
.login-inner .btn,.login-inner .btn:disabled{font-size:15px;min-height:50px}
button{background-color:#403d45;color:#fff}
.nav button,.logout{background:transparent;color:#625f67}
.nav button.active{background:#e53259;color:#fff}
.nav button:hover,.logout:hover{background:#d92f53;color:#fff}
.inline-form button{background:#d92f53;color:#fff;padding:9px 12px}
.back{background:#403d45;color:#fff;padding:9px 12px;border-radius:7px;font-size:14px}
.back:hover{background:#d92f53;color:#fff}
.login-inner .btn.primary,.login-inner .btn.primary:disabled{background:#d92f53!important;color:#fff!important}
@media(max-width:680px){.heading h1,.project-hero h1{font-size:24px}.login-inner h2{font-size:23px}.nav button{font-size:14px}.table td{font-size:12px}}
