*{box-sizing:border-box}body{color:#071b42;background:#f6f9fd;margin:0;font-family:Inter,Arial,sans-serif}.app{min-height:100vh;display:flex}aside{color:#fff;background:#071b42;width:250px;padding:22px 14px;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:10px;padding:0 8px 28px;display:flex}.brand .mark{color:#ff1f62;font-size:36px}.brand b{font-size:24px}.brand b span{color:#ff1f62}.brand small,header small{color:#8ea0be;font-size:10px;display:block}aside button{color:#d8e1f1;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;margin:2px 0;padding:12px 14px;font-size:14px;display:flex}aside button.active{color:#fff;background:#ff1f62}.asideFoot{font-size:20px;position:absolute;bottom:28px;left:28px}.asideFoot strong{color:#ff1f62}main{flex:1;margin-left:250px}header{background:#fff;border-bottom:1px solid #e6ebf2;align-items:center;gap:14px;height:78px;padding:0 30px;display:flex}.search{background:#f2f6fb;border-radius:10px;flex:1;align-items:center;gap:8px;max-width:600px;height:42px;padding:0 14px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%}.icon{background:#fff;border:0;margin-left:auto}.avatar{color:#fff;background:#071b42;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.content{padding:30px}.title{justify-content:space-between;align-items:center;display:flex}.title h1{margin:0;font-size:30px}.title p,.muted{color:#68758d}.actions,.toolbar,.modalActions{gap:10px;display:flex}.primary,.ghost{cursor:pointer;border:0;border-radius:9px;align-items:center;gap:8px;padding:11px 16px;font-weight:700;display:inline-flex}.primary{color:#fff;background:#ff1f62}.ghost{color:#071b42;background:#fff;border:1px solid #dbe3ef}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0;display:grid}.stat,.panel,.project{background:#fff;border:1px solid #e4eaf2;border-radius:14px;box-shadow:0 3px 14px #173b6b0a}.stat{padding:22px}.stat strong{font-size:30px;display:block}.stat span{color:#6d7890}.grid{grid-template-columns:1.3fr 1fr;gap:18px;display:grid}.panel{padding:20px}.panel h2{margin-top:0}.projects{grid-template-columns:repeat(3,minmax(230px,1fr));gap:16px;margin-top:18px;display:grid}.panel .projects{grid-template-columns:1fr}.project{overflow:hidden}.photo{background:linear-gradient(135deg,#bdd4ec,#edf3f9);height:130px;position:relative}.photo:after{content:"CONSTRUCTION SITE";color:#7187a4;letter-spacing:2px;place-items:center;font-weight:800;display:grid;position:absolute;inset:0}.photo span{z-index:2;color:#fff;background:#16a36a;border-radius:20px;padding:6px 10px;font-size:11px;position:absolute;top:10px;right:10px}.pbody{padding:15px}.prow{justify-content:space-between;align-items:center;display:flex}.prow h3{margin:0}.bar{background:#e7edf4;border-radius:8px;height:7px;margin:14px 0}.bar i{background:#ff1f62;border-radius:8px;height:100%;display:block}.meta{color:#7b879c;grid-template-columns:repeat(3,1fr);gap:8px;font-size:11px;display:grid}.meta b{color:#071b42}.stages{justify-content:space-between;margin:35px 0;display:flex}.stages div{text-align:center}.stages i{background:#e9edf3;border-radius:50%;place-items:center;width:36px;height:36px;margin:auto auto 8px;font-style:normal;display:grid}.stages i.done{color:#fff;background:#19af73}.stages span{font-size:11px}.wide{justify-content:center;width:100%}.toolbar{margin-top:20px}.empty{text-align:center;margin-top:25px;padding:70px 20px}.empty p{color:#6c7890;max-width:650px;margin:10px auto 25px}.overlay{z-index:10;background:#071b4288;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(620px,92vw);padding:30px;position:relative}.close{background:0 0;border:0;position:absolute;top:18px;right:18px}.aiIcon{color:#ff1f62;background:#ffe6ef;border-radius:14px;place-items:center;width:50px;height:50px;display:grid}.modal textarea{width:100%;min-height:150px;font:inherit;border:1px solid #dce4ee;border-radius:12px;margin:15px 0;padding:15px}.upload input{display:none}.toast{color:#fff;z-index:20;background:#071b42;border-radius:10px;padding:13px 18px;position:fixed;bottom:24px;right:24px}@media (width<=1000px){aside{width:80px}aside button{font-size:0}.brand div:not(.mark),.asideFoot{display:none}main{margin-left:80px}.projects,.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media (width<=650px){.projects,.stats{grid-template-columns:1fr}.content{padding:18px}.title{flex-direction:column;align-items:flex-start;gap:12px}.actions{flex-wrap:wrap}}
