:root{--ink:#16323a;--teal:#176f72;--mint:#dff4ed;--cream:#f7f8f3;--line:#dce5e1}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,sans-serif}button,input{font:inherit}.brand span{color:#20a192}.center{text-align:center;place-content:center;gap:24px;min-height:100vh;display:grid}.loader{border:3px solid #ddd;border-top-color:var(--teal);border-radius:50%;width:34px;height:34px;margin:auto;animation:1s linear infinite s}@keyframes s{to{transform:rotate(360deg)}}.portal{grid-template-columns:245px 1fr;min-height:100vh;display:grid}.portal>aside{color:#fff;background:#102f35;flex-direction:column;padding:32px 24px;display:flex}.portal aside>small{opacity:.55;margin-top:8px;font-size:10px}.portal nav{gap:12px;margin-top:50px;display:grid}.portal nav>*{border-radius:8px;padding:13px}.portal nav b{background:#1d4b50}.portal footer{margin-top:auto;font-weight:700}.portal footer small{opacity:.6;margin-top:4px;display:block}.portal>main>header,.admin>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 34px;display:flex}.portal header b{font-size:12px}.content,.admin main{max-width:1200px;margin:auto;padding:42px}.hero small,.road>small,.admin main>section small{color:var(--teal);font-size:11px;font-weight:800}.hero h1,.admin h1{margin:10px 0;font-size:40px}.hero p,.admin main>section p{color:#607276}.stats{grid-template-columns:2fr 1fr;gap:18px;margin:30px 0;display:grid}.stats article,.card,.road,.checklist{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.stats article{gap:10px;display:grid}.stats strong{font-size:25px}.stats article>div{background:#e9efec;border-radius:9px;height:8px}.stats i{background:#29a786;border-radius:9px;height:100%;display:block}.stats small{color:#718083}.road h2{margin:8px 0 24px}.road>div{grid-template-columns:repeat(9,1fr);gap:8px;display:grid}.road button{color:#64787b;text-align:center;background:0 0;border:0;padding:0}.road button b{background:#edf1ef;border-radius:50%;place-items:center;width:34px;height:34px;margin:auto auto 8px;display:grid}.road button.active b{background:var(--teal);color:#fff}.road button span{font-size:11px}.columns{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.checklist h2{margin:0}.checklist>p{color:#718083}.checklist>button{text-align:left;border:0;border-top:1px solid var(--line);background:0 0;align-items:center;gap:12px;width:100%;padding:14px 0;display:flex}.checklist>button i{border:2px solid #aab9b5;border-radius:6px;flex:none;place-items:center;width:24px;height:24px;font-style:normal;display:grid}.checklist>button i.done{color:#fff;background:#2aa483;border-color:#2aa483}.checklist>button span small{color:#84918e;margin-top:4px;display:block}.privacy{color:#718083;text-align:center;margin-top:24px;font-size:12px}.admin header{padding:0 5vw}.admin main{max-width:1100px}.adminGrid{grid-template-columns:1fr 1.2fr;gap:20px;display:grid}.card h2{margin-top:0}.card form{gap:14px;display:grid}.card label{gap:6px;font-size:13px;font-weight:700;display:grid}.card input{border:1px solid #bdcbc7;border-radius:7px;padding:12px}.card fieldset{border:1px solid var(--line);border-radius:8px;gap:18px;display:flex}.card fieldset label{align-items:center;display:flex}.card form>button{background:var(--teal);color:#fff;border:0;border-radius:8px;padding:14px;font-weight:700}.clientRow{border-top:1px solid var(--line);gap:5px;padding:15px 0;display:grid}.clientRow .delete{color:#a33;cursor:pointer;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:12px}.clientRow span,.clientRow small,.message,.empty{color:#718083}.message{font-size:13px}@media (width<=850px){.portal{display:block}.portal>aside{display:none}.content,.admin main{padding:24px}.stats,.columns,.adminGrid{grid-template-columns:1fr}.road>div{grid-template-columns:repeat(3,1fr);gap:20px}.hero h1,.admin h1{font-size:32px}}.openClient{text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;gap:5px;padding:0;display:grid}.openClient:hover b{color:#176f72}.openClient span,.openClient small{color:#718083}.back{color:#176f72;cursor:pointer;background:#fff;border:1px solid #dce5e1;border-radius:9px;padding:10px 14px}.adminHero{color:#fff;background:linear-gradient(135deg,#11363b,#1a6869);border-radius:18px;margin-bottom:18px;padding:34px}.adminHero h1{margin:8px 0}.adminHero p{color:#d2e5df!important}.adminProgress{background:#ffffff2b;border-radius:10px;height:9px;margin:24px 0 10px;overflow:hidden}.adminProgress i{background:#67d0ae;border-radius:10px;height:100%;display:block}.adminHero>b{color:#d2e5df;font-size:12px}.adminRoad{margin:0 0 18px}.phaseIntro{background:linear-gradient(135deg,#edf8f4,#f8fbf7);border:1px solid #cfe5dd;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:22px 26px;display:flex}.phaseIntro small{color:#176f72;letter-spacing:.08em;font-size:10px;font-weight:800}.phaseIntro h2{margin:7px 0 5px}.phaseIntro p{color:#607276;margin:0}.phaseIntro>b{text-align:center;background:#fff;border:7px solid #54b89b;border-radius:50%;flex:none;place-content:center;width:84px;height:84px;font-size:19px;display:grid}.phaseIntro>b small{color:#718083;font-size:9px;display:block}@media (width<=650px){.phaseIntro{align-items:flex-start}.phaseIntro>b{width:68px;height:68px;font-size:15px}}:root{--ink:#172c31;--teal:#245f5b;--mint:#dceae3;--cream:#f5f2eb;--line:#dedbd2;--paper:#fffdfa;--bronze:#aa8660;--muted:#6f7d7b;--shadow:0 22px 60px #1b313014}body{letter-spacing:-.01em;background:linear-gradient(145deg,#f8f6f0 0%,#f2f4ef 55%,#edf3ef 100%);font-family:Inter,Avenir,Helvetica Neue,Arial,sans-serif}h1,h2,.stats strong,.adminHero h1{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-weight:400}.brand{letter-spacing:.12em;font-size:20px;font-weight:500}.brand span{color:#77b6a2;margin-left:4px;font-weight:400}.portal>aside{background:linear-gradient(#132f32,#183b3a);padding:38px 26px;box-shadow:18px 0 60px #0f232312}.portal aside>small{letter-spacing:.14em;color:#bfd2c9;opacity:.72}.portal nav{gap:7px}.portal nav>*{color:#d9e5df;font-weight:500}.portal nav b{background:#ffffff17;box-shadow:inset 3px 0 #8cc8b1}.portal footer{border-top:1px solid #ffffff1f;padding-top:24px}.portal>main>header,.admin>header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdfae0;border-color:#47605b1f;height:78px}.content,.admin main{max-width:1260px;padding:50px 48px 72px}.hero{padding:16px 0 6px}.hero small,.road>small,.admin main>section small{letter-spacing:.14em;color:#7a987f}.hero h1,.admin h1{color:#173437;font-size:48px;line-height:1.05}.hero p,.admin main>section p{font-size:16px;line-height:1.65}.stats{gap:20px;margin:34px 0}.stats article,.card,.road,.checklist{box-shadow:var(--shadow);background:#fffdfaf0;border:1px solid #4e686224;border-radius:18px}.stats article{padding:28px}.stats strong{color:#214a49;font-size:29px}.stats article>div{background:#e8e8e0}.stats i{background:linear-gradient(90deg,#2f746c,#79b59d)}.road{padding:30px}.road h2{font-size:28px}.road>div{gap:6px}.road button{border-radius:12px;padding:8px 4px;transition:all .2s}.road button:hover{color:#244f4d;background:#f0f4ef}.road button b{background:#eceee9;border:1px solid #dde2dc;width:38px;height:38px}.road button.active{color:#1d4b49}.road button.active b{background:linear-gradient(145deg,#245f5b,#387b70);box-shadow:0 8px 20px #235f5b38}.phaseIntro{background:linear-gradient(135deg,#e9f2ec,#f9f6ef);border-color:#d6e1da;border-radius:18px;padding:27px 30px;box-shadow:0 14px 40px #2c49430d}.phaseIntro h2{color:#1e4745;font-size:28px}.phaseIntro>b{border-color:#79aa94;box-shadow:0 10px 28px #2a5c521a}.columns{gap:20px}.checklist{padding:28px}.checklist h2{font-size:26px}.checklist>p{line-height:1.55}.checklist>button{padding:16px 2px;transition:all .18s}.checklist>button:not(:disabled):hover{color:#205955;transform:translate(3px)}.checklist>button i{border-color:#b4c2bc;border-radius:50%}.checklist>button i.done{background:#3b7a6b;border-color:#3b7a6b}.privacy{letter-spacing:.02em;margin-top:32px}.admin>header{padding:0 5vw}.adminHero{background:radial-gradient(circle at 90% 0,#9fc9b540,#0000 38%),linear-gradient(135deg,#153639,#225b57);border-radius:22px;padding:42px;box-shadow:0 26px 70px #1536392e}.adminHero h1{font-size:46px}.adminGrid{gap:24px}.card{padding:30px}.card h2{font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:400}.card input{background:#fff;border-color:#d7d8d1;padding:13px 14px}.card input:focus{outline-offset:1px;outline:2px solid #89b5a4}.card fieldset{border-color:#dedfd8;padding:15px}.card form>button{cursor:pointer;background:linear-gradient(135deg,#245f5b,#32756d);border-radius:10px;padding:15px;box-shadow:0 10px 24px #245f5b2e}.clientRow{padding:18px 0}.openClient b{font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:400}.clientRow .delete{opacity:.68}.back{background:#fffdfa;border-color:#d8ddd7;box-shadow:0 7px 18px #2144400f}@media (width<=850px){.content,.admin main{padding:30px 22px 54px}.hero h1,.admin h1,.adminHero h1{font-size:38px}.road,.checklist{padding:22px}}:root{--navy:#082131;--ink:#082131;--muted:#657379;--line:#0821312b;--bg:#f4f0e7;--teal:#9fb5a3;--green:#9fb5a3;--coral:#e68066;--paper:#fbf9f4}body{background:var(--bg);font-family:DM Sans,Arial,sans-serif}.shell>aside{color:#bdc7bb;background:#082131;border-right:1px solid #f4f0e71f}.logo{letter-spacing:-1.2px;color:#f4f0e7;align-items:baseline;padding:2px 9px;font-size:22px;display:flex}.logo b{color:#f4f0e7;background:0 0;border-radius:0;width:auto;height:auto;margin:0;font-weight:600;display:inline}.logo span{color:#f4f0e7;margin-left:4px;font-family:Playfair Display,serif;font-size:18px;font-style:italic;font-weight:500}.brand-note{color:#91a39a;letter-spacing:1.1px;margin:10px 9px 0;font:8px DM Mono,monospace}.shell nav{margin-top:39px}.shell nav button{border-left:2px solid #0000;border-radius:0}.shell nav button.active,.shell nav button:hover{border-left-color:var(--coral);background:#143446}.shell nav em{background:#17394a}.user{border-color:#f4f0e729}header{background:var(--paper);border-color:var(--line)}.content{background:linear-gradient(#fbf9f4 0,#f4f0e7 360px)}.hero>div>small,.section-title small{color:var(--coral);letter-spacing:1.2px;font-family:DM Mono,monospace}.hero h1,.section-title h2,.task-title h2,.right h3{letter-spacing:-1px;font-family:Playfair Display,serif;font-weight:500}.hero h1{font-size:36px}.hero h1 em,.section-title h2 em{color:#829b87;font-weight:500}.hero p{color:#657379}.summary article,.roadmap,.tasks,.right article{background:var(--paper);border-color:var(--line);border-radius:0}.switch{border-color:var(--line);background:#e5e9df;border-radius:0}.switch button{border-radius:0}.switch button.on{box-shadow:none;color:var(--ink);background:#fbf9f4}.bar{background:#e5e9df;border-radius:0}.bar i{background:var(--coral)}.summary article.attention{border-left-color:var(--coral)}.attention>b{color:#b85d48;background:#f5ded5;border-radius:50%}.attention small{color:#b85d48}.attention button{background:var(--ink);border-radius:0}.timeline:before{background:#08213126}.timeline>button>b{background:var(--paper);border-color:#aab6ae;font-family:DM Mono,monospace}.timeline>button.done>b{background:var(--sage);border-color:var(--sage);color:#082131}.timeline>button.now>b{border-color:var(--coral);color:var(--coral)}.timeline>button.selected>b{box-shadow:0 0 0 5px #e6806620}.task-title>div>small,.lead>small,.internal>small{border-radius:0;font-family:DM Mono,monospace}.task-title>div>small.now{color:#a9503d;background:#f5ded5}.task:hover{background:#f4f0e7}.task>i{border-radius:0}.task>i.checked{background:var(--sage);border-color:var(--sage);color:#082131}.task>em{border-radius:0}.task>em.client{color:#a9503d;background:#f5ded5}.lead>div>b{background:var(--sage);color:#082131}.lead>button{color:#f4f0e7;background:#082131;border-color:#082131;border-radius:0}.activity h3 button{color:#b85d48}.internal{background:#e5e9df!important}@media (width<=1000px){.logo{font-size:0}.logo b{font-size:16px}.logo span,.brand-note{display:none}}.admin-head small{color:var(--coral);letter-spacing:1.2px;font:10px DM Mono,monospace}.admin-head h1{letter-spacing:-2px;margin:15px 0 8px;font:500 46px/1.05 Playfair Display,serif}.admin-head h1 em{color:#829b87}.admin-head p{color:var(--muted)}.admin-grid{grid-template-columns:minmax(360px,.8fr) minmax(420px,1.2fr);gap:20px;margin-top:30px;display:grid}.client-form,.client-list{background:var(--paper);border:1px solid var(--line);padding:27px}.client-form h2,.client-list h2{margin:0 0 23px;font:500 26px Playfair Display,serif}.client-form label{color:#4c5c63;gap:7px;font-size:11px;display:grid}.client-form>div{grid-template-columns:1fr 1fr;gap:12px;display:grid}.client-form input{background:#fff;border:1px solid #08213133;outline:none;width:100%;padding:11px 12px}.client-form input:focus{border-color:var(--coral)}.client-form>label,.client-form>div,.client-form fieldset{margin-bottom:17px}.client-form fieldset{border:1px solid #08213124;gap:18px;padding:14px;display:flex}.client-form legend{color:#657379;padding:0 7px;font:9px DM Mono,monospace}.client-form fieldset label{align-items:center;gap:7px;display:flex}.client-form fieldset input{width:auto}.client-form>button{background:var(--ink);width:100%;color:var(--paper);border:0;padding:13px;font-weight:600}.client-form>button:disabled{opacity:.6}.form-message{color:#3c7252;font-size:11px}.client-list>div{justify-content:space-between;align-items:start;display:flex}.client-list>div span{color:var(--coral);font:9px DM Mono,monospace}.client-list>button{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:1fr 150px 54px;gap:7px;width:100%;padding:17px 4px;display:grid}.client-list>button b,.client-list>button span{grid-column:1}.client-list>button span{color:var(--muted);font-size:10px}.client-list>button em{color:var(--muted);grid-area:1/2/3;align-self:center;font-size:9px;font-style:normal}.client-list>button i{color:var(--coral);grid-area:1/3/3;align-self:center;font-size:9px;font-style:normal}.client-list>button:hover{background:#f4f0e7}.empty{border-top:1px solid var(--line);color:var(--muted);padding-top:20px;font-size:12px}@media (width<=850px){.admin-grid,.client-form>div{grid-template-columns:1fr}}
