:root{font-family:Arial,sans-serif;color:#123541;background:#f7f5ef}*{box-sizing:border-box}body{margin:0}.shell{max-width:1200px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde3df;padding-bottom:18px}.brand{display:flex;gap:12px;align-items:center}.brand img{width:48px;height:48px}.brand strong{font-size:24px;display:block}.brand span{font-size:13px;color:#587079}nav{display:flex;gap:20px;align-items:center}a{color:#176d5c;font-weight:700}.hero{padding:52px 0 20px}.hero p{color:#e26827;font-size:12px;font-weight:800;letter-spacing:1px}.notice{background:#e3f2ed;padding:18px;border-left:4px solid #1e8a72;border-radius:8px}.metrics,.cards,.forms,.tables{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:24px}.metrics article,.cards article,.forms form,.tables article{background:#fff;border:1px solid #dfe7e3;border-radius:12px;padding:22px}.metrics b{font-size:36px;display:block}.metrics span,.cards span{color:#547078;font-size:14px}.cards h2{font-size:20px;margin-top:0}.cards span{font-weight:bold;color:#19725e}footer{margin:40px 0 10px;color:#607277;font-size:13px}.login{min-height:100vh;display:grid;place-items:center}.login form{width:min(420px,calc(100vw - 36px));background:white;padding:36px;border-radius:16px;box-shadow:0 8px 32px #1939451f;text-align:center}.login img{width:68px}.login h1{margin:10px 0 0}.login label,.forms label,.manage-entry label{text-align:left;display:block;margin:14px 0;font-weight:700}.login input,.forms input,.forms select,.manage-entry input,.manage-entry select{width:100%;margin-top:6px;padding:13px;border:1px solid #bccbc6;border-radius:7px;font-size:16px}.login button,.forms button,.manage-entry button{width:100%;border:0;border-radius:7px;padding:14px;background:#e8682b;color:white;font-size:16px;font-weight:bold;cursor:pointer}.error{background:#fde9e5;color:#a72c12;padding:11px;border-radius:7px;margin-top:16px}.forms,.tables{grid-template-columns:repeat(2,1fr)}.tables p{border-bottom:1px solid #edf0ef;padding:10px 0;margin:0}.tables small{color:#607277}.manage-entry{border-bottom:1px solid #dfe7e3;padding:12px 0}.manage-entry summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px}.manage-entry summary small{color:#607277}.manage-entry form{margin-top:12px}.manage-entry button.secondary{background:#fff;color:#a34d24;border:1px solid #e6a47e;margin-top:8px}.manage-entry button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.shell{padding:16px}.metrics,.cards,.forms,.tables{grid-template-columns:1fr}header{align-items:flex-start;gap:12px;flex-direction:column}nav{width:100%;justify-content:space-between}}

/* EcoX Dashboard */
.dashboard-body{background:#f6f5f0;color:#173c47}.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.dashboard-sidebar{position:sticky;top:0;height:100vh;padding:24px 12px;background:#153f4b;color:#f7fbfb;display:flex;flex-direction:column}.dashboard-brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;padding:0 8px 27px}.dashboard-brand img{width:38px;height:38px;border-radius:10px}.dashboard-brand b{display:block;font-size:21px;letter-spacing:.02em}.dashboard-brand small{display:block;font-size:10px;opacity:.74;margin-top:3px}.dashboard-sidebar>p{font-size:10px;color:#9cb3b9;letter-spacing:.13em;font-weight:800;margin:0 9px 11px}.dashboard-sidebar nav{display:grid;gap:4px}.dashboard-sidebar nav a{color:#e8f1f2;text-decoration:none;padding:12px 11px;border-radius:8px;font-size:14px;font-weight:700;display:flex;gap:12px;align-items:center}.dashboard-sidebar nav a:hover,.dashboard-sidebar nav a.active{background:#24596a;color:white;box-shadow:inset 3px 0 #ed6c2b}.dashboard-sidebar nav i{font-style:normal;width:15px;color:#9cc6c2}.dashboard-sidebar nav b{margin-left:auto;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#ed6c2b;color:#fff;font-size:11px}.sidebar-status{margin-top:auto;border-top:1px solid #34616c;padding:19px 9px 0;font-size:11px;font-weight:700}.sidebar-status span{display:inline-block;width:7px;height:7px;background:#4fd4af;border-radius:50%;margin-right:7px}.sidebar-status small{display:block;font-weight:400;color:#93acb2;margin:6px 0 0 14px}.dashboard-main{min-width:0;padding:0 34px 52px}.dashboard-top{min-height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e4de;color:#53666b;font-size:13px}.dashboard-top nav{display:flex;gap:18px;width:auto;align-items:center}.dashboard-top a{font-size:13px;text-decoration:none}.dashboard-top strong{font-size:13px;color:#173c47}.dashboard-head{padding:32px 0 23px;display:flex;justify-content:space-between;align-items:end;gap:20px}.dashboard-head p,.dashboard-card header p,.project-cards header p{font-size:10px;letter-spacing:.14em;color:#ec6c2b;font-weight:800;margin:0 0 7px}.dashboard-head h1{font-size:38px;line-height:1.08;letter-spacing:-.04em;margin:0 0 8px}.dashboard-head span{font-size:14px;color:#667b80}.primary-action{background:#ec6c2b;color:white!important;text-decoration:none;padding:13px 17px;border-radius:8px;font-size:13px;white-space:nowrap}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.dashboard-metrics article,.dashboard-card,.project-overview-card{background:#fff;border:1px solid #e1e6e1;border-radius:10px;box-shadow:0 2px 7px #18394508}.dashboard-metrics article{position:relative;padding:18px}.dashboard-metrics article:before{content:'';position:absolute;right:0;top:0;width:58px;height:28px;border-radius:0 10px 0 30px;background:#e2f3ed}.dashboard-metrics b{font-size:27px;display:block;line-height:1.1}.dashboard-metrics span{font-size:12px;font-weight:700;display:block;margin-top:4px}.dashboard-metrics small{font-size:10px;color:#74878b;display:block;margin-top:7px}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:13px;margin-top:13px}.dashboard-card{padding:18px}.dashboard-card header,.project-cards>header{display:flex;justify-content:space-between;align-items:start;gap:16px}.dashboard-card h2,.project-cards h2{font-size:18px;margin:0}.dashboard-card header>a,.project-cards header>a{font-size:11px;text-decoration:none;white-space:nowrap}.request-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.request-chips span{border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.request-chips .urgent{background:#fee7e7;color:#bd3c3c}.request-chips .material{background:#fff0df;color:#ae6312}.request-chips .question{background:#fff8d9;color:#847023}.request-chips .info{background:#e6f4ef;color:#207760}.dashboard-muted{font-size:12px;line-height:1.5;color:#6a7f83;margin:16px 0 0}.quick-card ul{list-style:none;padding:8px 0 0;margin:0;display:grid;gap:8px}.quick-card li{display:flex;align-items:center;gap:10px;font-size:12px;background:#f5f8f6;padding:8px;border-radius:6px}.quick-card b{background:#dff1eb;color:#13725f;border-radius:5px;min-width:25px;text-align:center;padding:4px}.planner-card,.year-card{margin-top:13px;padding:20px}.planner-card header>div>span,.year-card header>div>span{font-size:11px;color:#6f8388;display:block;margin-top:5px}.month-scroll{overflow-x:auto;margin-top:20px;padding-bottom:5px}.month-board{display:grid;grid-template-columns:210px repeat(var(--days),43px);min-width:max-content;border-top:1px solid #e4e9e6;border-left:1px solid #e4e9e6}.month-label-spacer,.month-day,.month-project-label,.month-project-cell{min-height:62px;border-right:1px solid #e4e9e6;border-bottom:1px solid #e4e9e6}.month-day{display:grid;place-content:center;text-align:center;gap:3px;font-size:12px}.month-day small{font-size:10px;color:#73848a}.month-day.weekend,.month-project-cell.weekend{background:#f6f6f1}.month-project-label{padding:10px 12px}.month-project-label b,.month-project-label small{display:block}.month-project-label b{font-size:12px}.month-project-label small{font-size:10px;color:#728287;margin-top:3px;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-project-cell{position:relative}.planner-bar{position:absolute;left:2px;right:2px;top:14px;display:block;padding:7px 4px;border-radius:5px;color:#fff;text-decoration:none;font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan{background:#178b76}.lead{background:#3d83e7}.risk{background:#d45252}.planner-legend{margin-top:12px;display:flex;gap:16px;flex-wrap:wrap;font-size:10px;font-weight:700}.planner-legend span{color:#567076}.planner-legend .plan{background:none;color:#178b76}.planner-legend .lead{background:none;color:#3d83e7}.planner-legend .risk{background:none;color:#d45252}.year-board{margin-top:19px}.year-months{display:grid;grid-template-columns:220px repeat(12,1fr);border-bottom:1px solid #e3e9e5}.year-months b{font-size:10px;color:#6d8084;text-align:center;padding:7px 0}.year-row{display:grid;grid-template-columns:220px 1fr;min-height:56px;border-bottom:1px solid #e3e9e5}.year-row>div:first-child{padding:10px 12px}.year-row b,.year-row small{display:block}.year-row b{font-size:12px}.year-row small{font-size:10px;color:#74878b;margin-top:3px}.year-track{position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.333% - 1px),#e8ece9 calc(8.333% - 1px),#e8ece9 8.333%)}.year-bar{position:absolute;top:14px;width:8%;min-width:75px;min-height:26px;border-radius:6px;padding:7px;color:#fff;text-decoration:none;font-size:10px;font-weight:800;white-space:nowrap}.project-cards{margin-top:18px}.project-cards>header{margin-bottom:12px}.project-cards>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px}.project-overview-card{display:block;text-decoration:none;color:#173c47;padding:18px;border-left:4px solid #3d83e7}.project-overview-card.plan{border-left-color:#178b76}.project-overview-card.risk{border-left-color:#d45252}.project-overview-card small{color:#789095;font-size:10px}.project-overview-card h3{margin:8px 0 3px;font-size:19px}.project-overview-card p{font-size:12px;color:#62787d;margin:0}.project-overview-card>span{display:inline-block;margin-top:14px;background:#edf4f1;color:#20755f;padding:5px 7px;border-radius:99px;font-size:10px;font-weight:800}.project-overview-card footer{margin-top:15px;padding-top:10px;border-top:1px solid #edf0ee;font-size:10px;color:#6d8186}@media(max-width:1050px){.dashboard-shell{grid-template-columns:188px minmax(0,1fr)}.dashboard-main{padding:0 20px 35px}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.month-board{grid-template-columns:175px repeat(var(--days),43px)}.month-project-label{padding:10px}.dashboard-sidebar{padding:18px 8px}.dashboard-brand{padding-left:6px}.dashboard-sidebar nav a{font-size:12px}}@media(max-width:720px){.dashboard-shell{display:block}.dashboard-sidebar{position:static;height:auto;padding:12px}.dashboard-brand{padding-bottom:11px}.dashboard-sidebar>p,.sidebar-status{display:none}.dashboard-sidebar nav{display:flex;overflow:auto}.dashboard-sidebar nav a{white-space:nowrap;padding:9px}.dashboard-main{padding:0 14px 30px}.dashboard-top{min-height:52px}.dashboard-top nav a:first-child{display:none}.dashboard-top nav{gap:10px}.dashboard-head{padding:22px 0 16px;align-items:start;flex-direction:column}.dashboard-head h1{font-size:29px}.dashboard-metrics,.dashboard-grid{grid-template-columns:1fr}.dashboard-card,.planner-card,.year-card{padding:14px}.year-months{grid-template-columns:130px repeat(12,55px);width:790px}.year-board{overflow:auto}.year-row{grid-template-columns:130px 660px;width:790px}.month-board{grid-template-columns:150px repeat(var(--days),40px)}.month-project-label{padding:8px}.dashboard-top strong{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
