.croc-meter{margin:12px 0 14px;padding:10px 11px;border:1px solid #29443a;border-radius:11px;background:linear-gradient(145deg,rgba(23,51,40,.84),rgba(8,20,16,.94));overflow:hidden}.croc-meter-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.croc-meter-head span small,.croc-meter-head span b{display:block}.croc-meter-head small{color:#789087;font-size:6px;font-weight:900;letter-spacing:1.15px}.croc-meter-head b{margin-top:2px;color:#dff9ec;font:800 10px Manrope}.croc-meter-head em{padding:4px 7px;border-radius:20px;background:#173429;color:#85e8b5;font-size:7px;font-style:normal;font-weight:800;white-space:nowrap}.croc-track{position:relative;height:45px;margin-top:7px;border-radius:8px;background:linear-gradient(180deg,#203f34 0 57%,#5d4d2d 58% 64%,#153126 65%);box-shadow:inset 0 0 18px #0007;overflow:hidden}.croc-track:after{content:'···';position:absolute;left:12px;bottom:2px;color:#7c704c;font-size:11px;letter-spacing:8px}.croc-track i{position:absolute;left:10%;right:17%;top:26px;border-top:1px dashed rgba(255,255,255,.14)}.croc-animal,.croc-person{position:absolute;z-index:2;bottom:7px;filter:drop-shadow(0 3px 3px #0008);user-select:none}.croc-animal{left:var(--croc-left);font-size:25px;transform:scaleX(-1);transition:left .7s ease;animation:croc-bob 2.2s ease-in-out infinite}.croc-person{right:7%;font-size:24px;animation:person-calm 2.8s ease-in-out infinite}.croc-meter>p{margin:6px 0 0;color:#91a69d;font-size:7px;line-height:1.35}.croc-watch{border-color:#5a5331}.croc-watch .croc-meter-head em{background:#423c20;color:#ffe389}.croc-danger{border-color:#744839}.croc-danger .croc-meter-head em,.croc-critical .croc-meter-head em{background:#4d2723;color:#ff9b8e}.croc-danger .croc-animal,.croc-critical .croc-animal{animation:croc-chomp .65s ease-in-out infinite}.croc-danger .croc-person,.croc-critical .croc-person{animation:person-worry .34s ease-in-out infinite}.croc-critical{border-color:#a94e43;background:linear-gradient(145deg,rgba(72,29,25,.9),rgba(18,15,12,.96));animation:croc-alert 1.2s ease-in-out infinite}.croc-won{border-color:#8a7132;background:linear-gradient(145deg,rgba(69,57,23,.8),rgba(11,25,19,.95))}.croc-won .croc-meter-head em{background:#4b3e1c;color:#ffe18a}.croc-won .croc-animal{animation:croc-sleep 3s ease-in-out infinite}.croc-detail{max-width:none;margin:0 0 18px;padding:14px 16px}.croc-detail .croc-track{height:64px}.croc-detail .croc-animal,.croc-detail .croc-person{bottom:10px;font-size:36px}.croc-detail .croc-meter-head b{font-size:14px}.croc-detail>p{font-size:9px}@keyframes croc-bob{50%{transform:scaleX(-1) translateY(-2px)}}@keyframes croc-chomp{0%,100%{transform:scaleX(-1) rotate(0)}50%{transform:scaleX(-1) rotate(-7deg) translateX(-3px)}}@keyframes person-calm{50%{transform:translateY(-2px)}}@keyframes person-worry{0%,100%{transform:translateX(-1px) rotate(-2deg)}50%{transform:translateX(2px) rotate(2deg)}}@keyframes croc-alert{50%{box-shadow:0 0 18px rgba(255,90,70,.2)}}@keyframes croc-sleep{50%{transform:scaleX(-1) translateY(2px) rotate(3deg)}}@media(prefers-reduced-motion:reduce){.croc-meter,.croc-animal,.croc-person{animation:none}.croc-animal{transition:none}}
.portfolio-filters{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(3,minmax(150px,1fr)) auto;gap:9px}
.portfolio-filters input,.portfolio-filters select{width:100%;min-width:0}
.filter-result{display:flex;align-items:center;justify-content:space-between;margin:-7px 0 14px;color:var(--muted);font-size:9px}
.filter-result span{color:var(--mint);font-weight:800}
.portfolio-heading{align-items:center}
.portfolio-title{min-width:265px}
.portfolio-summary{display:flex;align-items:stretch;gap:10px;margin-left:auto}
.portfolio-stat{width:104px;min-height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:13px;background:linear-gradient(145deg,#111f1b,#0b1613);box-shadow:0 14px 32px rgba(0,0,0,.18)}
.portfolio-stat strong{font:800 38px/1 Manrope;letter-spacing:-1.5px}
.portfolio-stat span{margin-top:8px;font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}
.portfolio-stat.total{border-color:#365a4b}.portfolio-stat.total strong{color:var(--mint)}
.portfolio-stat.risk{border-color:#5b492b}.portfolio-stat.risk strong{color:var(--amber)}
.portfolio-stat.done{border-color:#2c4c40}.portfolio-stat.done strong{color:#a8eac8}
.portfolio-heading>.primary-btn{flex:0 0 auto}
.project-status-time{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:72%}
.elapsed-time{display:inline-flex;align-items:center;white-space:nowrap;padding:4px 8px;border:1px solid #2b3d36;border-radius:20px;background:#101d19;color:#9db0a8;font-size:8px;font-weight:700;letter-spacing:.15px}
.donut{width:158px;height:158px;flex:0 0 158px}
.donut div{display:grid;place-items:center}
.donut strong{font:800 44px/1 Manrope;letter-spacing:-2px}
.donut span{margin-top:6px;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700}
@media(max-width:1100px){.portfolio-heading{align-items:flex-start;flex-wrap:wrap}.portfolio-summary{order:3;width:100%;margin-left:0}.portfolio-filters{grid-template-columns:1fr 1fr 1fr}.portfolio-filters input{grid-column:1/-1}}
@media(max-width:800px){.portfolio-heading>.primary-btn{width:100%}.portfolio-summary{display:grid;grid-template-columns:repeat(3,1fr)}.portfolio-stat{width:auto;min-height:82px}.portfolio-stat strong{font-size:32px}.portfolio-filters{grid-template-columns:1fr}.portfolio-filters input{grid-column:auto}.filter-result{align-items:flex-start;flex-direction:column;gap:4px}}
.project-victory{position:absolute;z-index:3;top:12px;left:12px;display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #d9b857;border-radius:999px;background:linear-gradient(120deg,#3c3217,#19190f);box-shadow:0 0 20px rgba(255,209,91,.2);color:#ffe596;animation:victory-float 2.2s ease-in-out infinite}.project-victory i{font-style:normal;font-size:15px;animation:trophy-pop 1.4s ease-in-out infinite}.project-victory b{font:800 8px Manrope;letter-spacing:.35px;text-transform:uppercase}.project-victory em{position:absolute;width:4px;height:4px;border-radius:50%;background:#75e3ad;animation:confetti-spark 1.6s infinite}.project-victory em:nth-of-type(1){top:-5px;left:20%;background:#ffcf5b}.project-victory em:nth-of-type(2){top:5px;right:-5px;animation-delay:.4s}.project-victory em:nth-of-type(3){bottom:-5px;left:55%;background:#9a87ff;animation-delay:.8s}
.project-celebration{position:fixed;z-index:150;left:50%;top:50%;width:min(470px,calc(100vw - 30px));padding:30px;border:1px solid #d1aa42;border-radius:20px;background:radial-gradient(circle at 50% 0,#493b18 0,transparent 42%),linear-gradient(145deg,#15271f,#0b1613);box-shadow:0 35px 110px #000c;text-align:center;opacity:0;transform:translate(-50%,-45%) scale(.82);pointer-events:none;transition:.32s}.project-celebration.show{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}.celebration-trophy{display:block;font-size:62px;animation:trophy-pop 1.2s ease-in-out infinite}.project-celebration small{display:block;margin-top:12px;color:#ffdb79;font-size:8px;font-weight:900;letter-spacing:1.5px}.project-celebration h2{margin:8px 0;font:800 25px Manrope}.project-celebration p{margin:0 auto 20px;max-width:360px;color:#aebfb7;font-size:10px;line-height:1.6}.celebration-burst i{position:absolute;left:50%;top:50%;color:#ffce55;font-style:normal;animation:burst-out 1.8s ease-out infinite}.celebration-burst i:nth-child(2){--x:150px;--y:-80px;color:#75e3ad}.celebration-burst i:nth-child(3){--x:-150px;--y:-70px;color:#9a87ff}.celebration-burst i:nth-child(4){--x:130px;--y:90px}.celebration-burst i:nth-child(5){--x:-135px;--y:95px;color:#ff776d}.celebration-burst i:nth-child(6){--x:0px;--y:-135px;color:#75e3ad}
@keyframes victory-float{50%{transform:translateY(-3px)}}@keyframes trophy-pop{0%,100%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.12)}}@keyframes confetti-spark{0%,100%{opacity:.25;transform:scale(.5)}50%{opacity:1;transform:scale(1.5)}}@keyframes burst-out{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}35%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x,0px)),calc(-50% + var(--y,-120px))) scale(1.3)}}
@media(prefers-reduced-motion:reduce){.project-victory,.project-victory i,.project-victory em,.celebration-trophy,.celebration-burst i{animation:none}}
.project-card{position:relative}
.portfolio-view-switch{display:inline-flex;gap:3px;margin:-8px 0 14px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#0b1713}.portfolio-view-switch button{border:0;border-radius:7px;padding:8px 12px;background:transparent;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer}.portfolio-view-switch button.active{background:#1a382c;color:var(--mint);box-shadow:0 4px 14px #0005}.client-name-card{margin:15px 0 12px;padding:11px 12px;border-left:3px solid var(--mint);border-radius:0 9px 9px 0;background:linear-gradient(90deg,rgba(117,227,173,.1),transparent)}.client-name-card small,.client-name-card strong,.client-name-card span{display:block}.client-name-card small,.project-name-label{color:#6e837a;font-size:7px;font-weight:800;letter-spacing:1.3px}.client-name-card strong{margin:3px 0 2px;color:#f2fff9;font:800 18px/1.15 Manrope;letter-spacing:-.3px}.client-name-card span{color:var(--mint);font-size:8px;font-weight:700}.project-card .project-name-label{display:block;margin-top:2px}.project-card h3{margin-top:4px}.client-groups{display:grid;gap:16px}.client-project-group{padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#0e1d18,#09130f);box-shadow:var(--shadow)}.client-project-group>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px 16px;margin-bottom:15px;border-bottom:1px solid var(--line)}.client-group-identity{display:flex;align-items:center;gap:12px}.client-group-identity>span{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#183428;color:var(--mint);font:800 13px Manrope}.client-group-identity small,.client-group-identity h2,.client-group-identity p{display:block;margin:0}.client-group-identity small{color:#647a71;font-size:7px;font-weight:800;letter-spacing:1.3px}.client-group-identity h2{margin:3px 0 2px;color:#f4fff9;font:800 22px/1 Manrope}.client-group-identity p{color:var(--muted);font-size:9px}.client-group-kpis{display:flex;gap:8px}.client-group-kpis>span{min-width:90px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#0c1814;text-align:right}.client-group-kpis small,.client-group-kpis b{display:block}.client-group-kpis small{color:#657970;font-size:6px;letter-spacing:.8px}.client-group-kpis b{margin-top:4px;font:700 15px Manrope}.client-group-kpis .danger b{color:var(--coral)}.client-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-project-grid .project-card{box-shadow:none}@media(max-width:1080px){.client-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-project-group>header{align-items:flex-start;flex-direction:column}.client-group-kpis{width:100%}.client-group-kpis>span{flex:1;text-align:left}}@media(max-width:800px){.portfolio-view-switch{display:flex}.portfolio-view-switch button{flex:1}.client-project-grid{grid-template-columns:1fr}.client-group-kpis{flex-wrap:wrap}}

.client-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:start}
.client-summary-card{position:relative;overflow:hidden;padding:17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#101e1a,#0a1512);box-shadow:var(--shadow);cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.client-summary-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#4d6a5f}
.client-summary-card:hover,.client-summary-card:focus-visible{border-color:#496c5d;transform:translateY(-2px);box-shadow:0 18px 42px #0007;outline:0}
.client-summary-card.expanded{border-color:#5ea985;box-shadow:0 0 0 1px rgba(117,227,173,.12),0 18px 42px #0007}
.client-summary-card.critical:before{background:var(--coral)}.client-summary-card.risk:before{background:var(--amber)}.client-summary-card.stalled:before{background:#8f83df}.client-summary-card.healthy:before{background:var(--mint)}
.client-summary-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.client-summary-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#183428;color:var(--mint);font:800 13px Manrope}
.client-summary-card.critical .client-summary-logo{background:#3a211e;color:var(--coral)}.client-summary-card.risk .client-summary-logo{background:#382e1c;color:var(--amber)}.client-summary-card.stalled .client-summary-logo{background:#29243f;color:#b6a1ff}
.client-attention-label{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #2c443a;border-radius:20px;background:#10201a;color:#a9bbb4;font-size:7px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}
.client-attention-label i{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(117,227,173,.09)}
.client-summary-card.critical .client-attention-label{border-color:#5a302b;background:#2b1a18;color:#ff9d91}.client-summary-card.critical .client-attention-label i{background:var(--coral)}
.client-summary-card.risk .client-attention-label{border-color:#564527;background:#2b2417;color:#f4ce76}.client-summary-card.risk .client-attention-label i{background:var(--amber)}
.client-summary-card.stalled .client-attention-label{border-color:#443b68;background:#211d34;color:#c2b6ff}.client-summary-card.stalled .client-attention-label i{background:#aa98ff}
.client-summary-card>small{display:block;color:#6e837a;font-size:7px;font-weight:900;letter-spacing:1.35px}.client-summary-card h2{margin:4px 0 3px;color:#f4fff9;font:800 21px/1.15 Manrope;letter-spacing:-.4px}.client-summary-card>p{margin:0;color:var(--muted);font-size:9px}
.client-summary-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:17px 0 14px}
.client-summary-kpis>span{min-width:0;padding:9px 8px;border:1px solid #22372f;border-radius:9px;background:#0b1713}.client-summary-kpis small,.client-summary-kpis b{display:block}.client-summary-kpis small{overflow:hidden;color:#647a71;font-size:6px;font-weight:800;letter-spacing:.55px;text-overflow:ellipsis;white-space:nowrap}.client-summary-kpis b{margin-top:4px;font:800 16px Manrope}.client-summary-kpis .danger b{color:var(--coral)}.client-summary-kpis .warning b{color:#b6a1ff}
.client-summary-progress>span{display:flex;align-items:center;justify-content:space-between;color:#71867d}.client-summary-progress small{font-size:6px;font-weight:800;letter-spacing:.7px}.client-summary-progress b{color:#d9e8e1;font-size:9px}.client-summary-progress>i{display:block;height:5px;margin-top:7px;overflow:hidden;border-radius:5px;background:#26332e}.client-summary-progress u{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#5cc793,var(--mint));text-decoration:none}
.client-summary-card>footer{display:flex;align-items:center;justify-content:space-between;margin:15px -17px -17px;padding:11px 17px;border-top:1px solid var(--line);background:rgba(8,18,15,.52);color:var(--mint);font-size:8px;font-weight:800}.client-summary-card>footer b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#173529;font-size:16px;line-height:1}
.client-project-expansion{grid-column:1/-1;padding:18px;border:1px solid #315446;border-radius:14px;background:radial-gradient(circle at 80% 0,rgba(117,227,173,.08),transparent 34%),linear-gradient(145deg,#0e1d18,#09130f);box-shadow:var(--shadow);animation:client-expand .22s ease}
.client-project-expansion>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0 2px 16px;margin-bottom:15px;border-bottom:1px solid var(--line)}.client-project-expansion h3{margin:5px 0 4px;font:800 18px Manrope}.client-project-expansion p{margin:0;color:var(--muted);font-size:9px}.client-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-project-grid .project-card{box-shadow:none}
@keyframes client-expand{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media(max-width:1080px){.client-groups,.client-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.portfolio-view-switch{display:flex}.portfolio-view-switch button{flex:1}.client-groups,.client-project-grid{grid-template-columns:1fr}.client-project-expansion>header{align-items:stretch;flex-direction:column}.client-project-expansion>header button{width:100%}}
@media(prefers-reduced-motion:reduce){.client-summary-card,.client-project-expansion{animation:none;transition:none}}

.client-summary-card.expanded{grid-column:1/-1;transform:none;overflow:hidden}
.client-summary-card.expanded>.client-summary-kpis,.client-summary-card.expanded>.client-summary-progress{max-width:560px}
.client-inline-projects{margin:17px -17px -17px;padding:18px;border-top:1px solid #315446;background:radial-gradient(circle at 85% 0,rgba(117,227,173,.08),transparent 35%),#091511;cursor:default;animation:client-expand .22s ease}
.client-inline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px;padding-bottom:14px;border-bottom:1px solid var(--line)}.client-inline-head h3{margin:5px 0 3px;font:800 18px Manrope}.client-inline-head p{margin:0;color:var(--muted);font-size:9px}.client-inline-head>span{padding:6px 9px;border:1px solid #315446;border-radius:20px;background:#10251d;color:var(--mint);font-size:8px;font-weight:800;white-space:nowrap}
.client-inline-projects .client-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-inline-projects .project-card{cursor:pointer}
@media(max-width:1080px){.client-inline-projects .client-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.client-inline-head{flex-direction:column}.client-inline-projects .client-project-grid{grid-template-columns:1fr}.client-summary-card.expanded>.client-summary-kpis,.client-summary-card.expanded>.client-summary-progress{max-width:none}}
