*{box-sizing:border-box}body{margin:0;font:14px Inter,Arial,sans-serif;background:#f7f6f3;color:#211f27}aside{position:fixed;width:230px;inset:0 auto 0 0;background:#17141f;color:#fff;padding:28px 18px;display:flex;flex-direction:column}.logo{display:flex;gap:12px;align-items:center;margin-bottom:35px}.logo b{background:#7657e8;padding:10px;border-radius:12px}.logo span{font-size:12px;font-weight:800}nav a{display:block;color:#bdb8ca;text-decoration:none;padding:13px;border-radius:9px;margin:4px 0}nav a:hover{background:#2a2535;color:#fff}.who{margin-top:auto;color:#aaa}main{margin-left:230px}header{height:68px;border-bottom:1px solid #e6e2dc;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 30px}header a{color:#6d5bd0;text-decoration:none}.hamb{display:none}.content{padding:32px;max-width:1500px;margin:auto}.title,.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.title{margin-bottom:25px}.title h1{margin:4px 0;font-size:28px}.title p{color:#777}.btn{display:inline-block;background:#7456e8;color:#fff!important;border:0;border-radius:9px;padding:11px 15px;text-decoration:none;cursor:pointer}.ghost{background:#fff!important;color:#3d3748!important;border:1px solid #ddd}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0 28px}.card,.panel,.obra{background:#fff;border:1px solid #ebe7e1;border-radius:14px;padding:20px;box-shadow:0 2px 12px #22200008}.card small,.title small,.hero small{font-size:10px;letter-spacing:1.5px;color:#7a6cb8;font-weight:800}.card strong{display:block;font-size:22px;margin-top:8px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.obra{color:inherit;text-decoration:none}.obra h3{font-size:18px;margin-bottom:5px}.obra p{color:#777}.tag{display:inline-block;background:#fff5cf;color:#705d10;border-radius:20px;padding:5px 9px;font-size:11px}.bar,.mini{height:8px;background:#e8e5ef;border-radius:10px;overflow:hidden;margin:12px 0}.bar i,.mini i{display:block;height:100%;background:#5ab985;border-radius:10px}.big{height:13px}.mini{width:90px;display:inline-block;margin-right:8px}.panel{margin:16px 0}.form{display:grid;gap:12px;max-width:850px}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;background:#fff}.form textarea{min-height:110px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #eee}th{font-size:11px;color:#777}.scroll{overflow:auto}.ok,.err{padding:12px;border-radius:8px;margin:10px 0}.ok{background:#e9f8ef}.err{background:#ffe8e8}.login{min-height:100vh;display:grid;place-items:center;background:#17141f}.loginbox{width:min(390px,90vw);background:#fff;padding:34px;border-radius:20px;display:grid;gap:12px}.loginbox .brand{width:48px;height:48px;display:grid;place-items:center;background:#7456e8;color:#fff;border-radius:13px;font-weight:bold}.loginbox h1{margin:5px 0 0}.loginbox p{margin:0 0 10px;color:#777}.loginbox input,.loginbox button{padding:13px;border-radius:9px;border:1px solid #ddd}.loginbox button{background:#7456e8;color:#fff;border:0}.portal{background:#f3f1f6}.portalwrap{max-width:1000px;margin:35px auto;padding:0 18px}.hero{background:#191522;color:#fff;padding:32px;border-radius:20px}.hero h1{font-size:30px;margin:8px 0}.hero p{color:#c9c4d5}.progressnum{font-size:38px;font-weight:800;margin-top:25px}.stage{padding:10px 0;border-bottom:1px solid #eee}article{border-bottom:1px solid #eee;padding:12px 0}article small{color:#8a7dc6}.portal footer{text-align:center;padding:25px;color:#888}@media(max-width:800px){aside{transform:translateX(-100%);z-index:5;transition:.2s}.menu aside{transform:none}main{margin-left:0}.hamb{display:block}.content{padding:18px}.cards{grid-template-columns:1fr 1fr}.grid,.twocol{grid-template-columns:1fr}.title{align-items:flex-start;flex-direction:column}.portal .cards{grid-template-columns:1fr 1fr}header{padding:0 18px}}
nav label{display:block;color:#696275;font-size:9px;font-weight:800;letter-spacing:1.6px;margin:23px 12px 7px}nav a.active{background:#2d2839;color:#fff}.logo em{font-style:normal;color:#8f879e;font-size:9px}.home{color:#40384c!important}.switches{display:grid;gap:9px;padding:8px 0}.switches label{display:flex;align-items:center;gap:8px}.gantt{overflow:auto;margin-top:15px;min-width:700px}.gantt-head{display:grid;grid-template-columns:250px repeat(5,1fr);font-size:10px;color:#999;border-bottom:1px solid #eee;padding:10px 0}.gantt-row{display:grid;grid-template-columns:250px 1fr;min-height:52px;border-bottom:1px solid #f0eee9;align-items:center}.gantt-name{position:relative;padding-left:18px;display:flex;flex-direction:column}.gantt-name small{color:#999;margin-top:3px}.dot{position:absolute;left:0;top:5px;width:8px;height:8px;background:#57b77e;border-radius:50%}.gantt-track{height:28px;position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#eee calc(25% - 1px),#eee 25%)}.gantt-track i{position:absolute;top:7px;height:14px;border-radius:4px}.gantt-track .planned{background:#ded9ef}.gantt-track .done{background:#58b981;z-index:2}
/* V1.4 — identidade azul Pedro Henrich */
:root{--blue:#0b5bd3;--blue2:#073b8f;--nav:#071a33;--soft:#eef5ff;--line:#dbe7f5;--ink:#10233f}
body{background:#f4f7fb;color:var(--ink)}aside{background:linear-gradient(180deg,#071a33,#0a2447)}.logo b,.btn,.loginbox button,.loginbox .brand{background:var(--blue)}nav a{color:#aebfd5}nav a:hover,nav a.active{background:#123a68;color:#fff}nav label{color:#6f8fb5}header{border-color:var(--line)}header a,.card small,.title small,.hero small{color:var(--blue)}.card,.panel,.obra{border-color:var(--line);box-shadow:0 8px 25px #0b31580a}.tag{background:#e8f1ff;color:#1559a8}.bar,.mini{background:#e4edf8}.bar i,.mini i,.gantt-track .done{background:linear-gradient(90deg,#0b5bd3,#2684ff)}.gantt-track .planned{background:#cfe0f6}.dot{background:#1681e8}.login{background:linear-gradient(135deg,#06172e,#0b4d9f)}
.client-login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#06172e,#0b5bd3);padding:20px}.client-login-box{width:min(430px,94vw);background:#fff;padding:38px;border-radius:22px;display:grid;gap:13px;box-shadow:0 30px 80px #00152d55}.client-login-box input{padding:14px;border:1px solid var(--line);border-radius:10px}.client-login-box h1{margin:0}.client-login-box p,.muted{color:#718198}.client-brand{width:52px;height:52px;border-radius:14px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900}.client-top{height:68px;background:#fff;border-bottom:1px solid var(--line);padding:0 max(20px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between}.client-top b{font-size:20px;color:var(--blue)}.client-top b span{font-size:13px;color:var(--ink);margin-left:7px}.client-top a{color:var(--blue)}.client-shell{max-width:1100px;margin:28px auto;padding:0 18px}.client-hero{background:linear-gradient(120deg,#071d3c,#0b5bd3);color:#fff;padding:34px;border-radius:22px;box-shadow:0 18px 50px #073b8f33}.client-hero h1{font-size:32px;margin:7px 0}.client-hero p{color:#d9e8ff}.client-hero small{color:#8fc1ff}.hero-progress{display:flex;align-items:end;gap:12px;margin-top:24px}.hero-progress strong{font-size:42px}.hero-progress span{padding-bottom:7px;color:#cfe2ff}.status-blue{background:#dbeaff;color:#074caa;padding:5px 9px;border-radius:20px}.file-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.file-card{padding:17px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:#f8fbff}.file-card b,.file-card small{display:block}.file-card small{margin-top:7px;color:var(--blue)}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.client-area{background:#f4f7fb}
@media(max-width:800px){.file-grid{grid-template-columns:1fr}.client-top b span{display:none}.client-hero h1{font-size:26px}}
/* V1.5 — linha do tempo das BMs */
.bm-timeline{position:relative;margin:22px 0 4px;padding-left:52px}.bm-timeline:before{content:"";position:absolute;left:21px;top:20px;bottom:20px;width:3px;background:#cfe0f6;border-radius:4px}.bm-event{position:relative;margin:0 0 18px}.bm-dot{position:absolute;left:-52px;top:8px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #79a9df;color:#0b5bd3;font-weight:900;z-index:2}.bm-event.current .bm-dot{background:#0b5bd3;color:#fff;border-color:#0b5bd3}.bm-card{background:#f8fbff;border:1px solid #dbe7f5;border-radius:13px;padding:16px 18px}.bm-card b{font-size:16px}.bm-card small{display:block;color:#718198;margin-top:4px}.bm-card p{margin:10px 0;color:#425a76;line-height:1.5}.bm-card strong{color:#0b5bd3}.bm-progress{width:100%;max-width:380px;margin:12px 0 5px}@media(max-width:600px){.bm-timeline{padding-left:44px}.bm-timeline:before{left:17px}.bm-dot{left:-44px;width:36px;height:36px;font-size:11px}.bm-card .row{align-items:flex-start;flex-direction:column}.bm-card{padding:14px}}
/* V1.6 — cronograma dinâmico, categorias e comprovantes */
.sm{padding:7px 10px;font-size:11px}.bm-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.paid-chip{background:#e7f7ed;color:#167445;border:1px solid #bfe8ce;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:800}.legend{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.legend span{padding:5px 9px;border-radius:16px;font-size:10px;font-weight:800;color:#fff}.cat-dem{--svc:#d75a4a;background:#d75a4a}.cat-est{--svc:#2167d5;background:#2167d5}.cat-alv{--svc:#df8b2f;background:#df8b2f}.cat-inst{--svc:#7856d8;background:#7856d8}.cat-imp{--svc:#159fb0;background:#159fb0}.cat-rev{--svc:#2e9b68;background:#2e9b68}.cat-cob{--svc:#8b6544;background:#8b6544}.cat-acab{--svc:#d2a21f;background:#d2a21f}.cat-out{--svc:#718198;background:#718198}.gantt2{overflow-x:auto;border:1px solid var(--line);border-radius:12px;min-width:760px}.gantt2-head,.gantt2-row{display:grid;grid-template-columns:330px 1fr}.gantt2-head{background:#f7faff;border-bottom:1px solid var(--line);font-size:10px;color:#718198;font-weight:800}.gantt2-head>b{padding:12px 16px}.gantt2-head>div{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;text-align:center}.gantt2-row{min-height:62px;border-bottom:1px solid #edf2f8}.gantt2-row:last-child{border-bottom:0}.gantt2-name{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:10px 14px}.gantt2-name b{display:block;font-size:12px}.gantt2-name small{display:block;color:#7d8da2;margin-top:4px;font-size:10px}.gantt2-name strong{font-size:12px;color:#183a63}.service-dot{width:9px;height:9px;border-radius:50%;background:var(--svc)}.gantt2-track{position:relative;margin:14px 16px;height:34px;background:repeating-linear-gradient(90deg,#f8fbff 0,#f8fbff calc(25% - 1px),#dfe9f4 calc(25% - 1px),#dfe9f4 25%);border-radius:7px;overflow:visible}.gantt2-track i{position:absolute;left:0;border-radius:5px}.gantt2-track .plan{top:7px;width:100%;height:20px;background:color-mix(in srgb,var(--svc) 22%,white)}.gantt2-track .real{top:10px;height:14px;background:var(--svc);box-shadow:0 1px 4px #001b3322}.gantt2-track em{position:absolute;top:4px;width:2px;height:26px;background:#10233f;transform:translateX(-1px);border-radius:2px}.gantt2-track em:after{content:"";position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:#10233f}@media(max-width:800px){.gantt2{min-width:680px}.gantt2-head,.gantt2-row{grid-template-columns:280px 1fr}}

/* V1.7 — interface clean */
body{background:#f6f8fc;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#182b43}
aside{background:#0b2340}.content{max-width:1440px;padding:30px}.panel,.card,.obra{border:1px solid #e5edf6;border-radius:16px;box-shadow:0 3px 16px #102a4310}
.btn{background:#1764c5;border-radius:10px;font-weight:650}header{border-bottom:1px solid #e9eef5}
.title h1{font-weight:750;letter-spacing:-.8px}.photo-form{max-width:none}
.photo-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.photo-form label{display:grid;gap:7px;font-weight:650;color:#38516d}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.photo-item{padding:0;border:1px solid #e6edf5;border-radius:13px;overflow:hidden;background:#fff}
.photo-item img{display:block;width:100%;height:195px;object-fit:cover}.photo-item div{padding:14px}.photo-item b,.photo-item small{display:block}
.photo-item small{color:#597da7;font-size:11px;margin-bottom:7px}.photo-item p{color:#60728a;margin:7px 0 0;line-height:1.5}
@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-fields{grid-template-columns:1fr}}
@media(max-width:550px){.photo-grid{grid-template-columns:1fr}.photo-item img{height:230px}}

/* V1.8 timeline lateral por BM */
.schedule-wrap{display:grid;grid-template-columns:minmax(260px,38%) minmax(0,1fr);border:1px solid #e4ebf3;border-radius:14px;overflow:hidden;background:#fff}.schedule-key{border-right:1px solid #e4ebf3}.schedule-key>b{height:83px;display:flex;align-items:center;padding:16px;font-size:11px;color:#61758d}.schedule-label{height:64px;border-top:1px solid #edf1f6;display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px}.schedule-label strong{display:block;font-size:12px}.schedule-label small{display:block;font-size:10px;color:#74859a;margin-top:4px}.schedule-label>b{font-size:12px;color:#153b66}.schedule-scroll{overflow-x:auto;min-width:0}.schedule-calendar,.schedule-track{min-width:480px}.schedule-calendar{height:83px;background:#f7faff}.schedule-months{height:36px;display:grid;grid-template-columns:1fr 2fr 2fr 1fr;text-align:center;align-items:center;color:#375777;font-size:11px;font-weight:800}.schedule-dates,.schedule-track{display:grid;grid-template-columns:repeat(6,minmax(80px,1fr))}.schedule-dates span{text-align:center;font-size:11px;color:#385473;padding:3px}.schedule-dates small{display:block;color:#7d91aa;font-size:10px}.schedule-track{height:64px;border-top:1px solid #edf1f6;background:repeating-linear-gradient(90deg,#fff 0,#fff calc(16.666% - 1px),#e8eef6 calc(16.666% - 1px),#e8eef6 16.666%)}.schedule-cell{position:relative;display:flex;align-items:center;padding:0 2px}.schedule-cell.active i{height:19px;width:100%;background:var(--svc);border-radius:5px;box-shadow:0 2px 5px #1234  }.schedule-cell.unconfirmed{background:repeating-linear-gradient(135deg,transparent,transparent 6px,#f4f6fa 6px,#f4f6fa 12px)}.schedule-note{font-size:12px;color:#667c93;margin:12px 0 0;line-height:1.6}@media(max-width:700px){.schedule-wrap{grid-template-columns:200px minmax(0,1fr)}.schedule-label{padding:7px;gap:6px}.schedule-label strong{font-size:11px}.schedule-label>b{font-size:10px}}

/* V1.9 — timeline compacta à esquerda + avanço à direita */
.obra-overview-split{display:grid;grid-template-columns:minmax(270px,32%) minmax(0,68%);gap:16px;align-items:start;margin:18px 0 24px}
.obra-overview-split>.panel{margin:0;min-width:0;padding:20px}
.obra-overview-split .panel h2{font-size:17px;line-height:1.3;margin:5px 0}
.timeline-panel .row>.tag{font-size:10px;white-space:nowrap}
.timeline-panel .bm-timeline{padding-left:28px;margin-top:16px}
.timeline-panel .bm-timeline:before{left:10px;width:1px;background:#d6e2f0}
.timeline-panel .bm-event{margin-bottom:9px}
.timeline-panel .bm-dot{left:-28px;top:10px;width:22px;height:22px;border-width:1.5px;font-size:9px}
.timeline-panel .bm-card{padding:11px 12px;border-radius:10px;background:#fbfcfe}
.timeline-panel .bm-card b{font-size:12px}.timeline-panel .bm-card small{font-size:10px}
.timeline-panel .bm-card p{font-size:11px;line-height:1.4;margin:7px 0}
.timeline-panel .bm-card .row{gap:5px;align-items:flex-start;flex-wrap:wrap}
.timeline-panel .bm-card .row strong{font-size:11px}
.timeline-panel .bm-actions{margin-top:7px}.timeline-panel .sm{font-size:10px;padding:5px 7px}
.timeline-panel .bm-card>.bm-progress{display:none}
.progress-panel .schedule-wrap{grid-template-columns:minmax(180px,43%) minmax(0,57%)}
.progress-panel .schedule-key>b,.progress-panel .schedule-calendar{height:65px}
.progress-panel .schedule-label,.progress-panel .schedule-track{height:54px}
.progress-panel .schedule-label{padding:7px 10px}
.progress-panel .schedule-label strong{font-size:11px}.progress-panel .schedule-label small{font-size:9px}
.progress-panel .schedule-months{height:27px;font-size:10px}
.progress-panel .schedule-dates span,.progress-panel .schedule-dates small{font-size:9px}
.progress-panel .schedule-calendar,.progress-panel .schedule-track{min-width:390px}
.progress-panel .schedule-dates,.progress-panel .schedule-track{grid-template-columns:repeat(6,minmax(65px,1fr))}
.progress-panel .schedule-cell.active i{height:3px;border-radius:8px;box-shadow:none;background:var(--svc);position:relative;overflow:hidden}
.progress-panel .schedule-cell.active i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,#ffffffb5 48%,transparent 100%);animation:progress-glimmer 2.8s ease-in-out infinite;transform:translateX(-100%)}
.progress-panel .schedule-cell.active:after{content:"";position:absolute;right:1px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--svc);box-shadow:0 0 0 3px color-mix(in srgb,var(--svc) 12%,transparent)}
@keyframes progress-glimmer{0%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.progress-panel .schedule-cell.active i:after{animation:none}}
@media(max-width:1150px){.obra-overview-split{grid-template-columns:minmax(240px,38%) minmax(0,62%);gap:10px}.obra-overview-split>.panel{padding:13px}}
@media(max-width:850px){.obra-overview-split{grid-template-columns:1fr}.progress-panel .schedule-wrap{grid-template-columns:minmax(175px,38%) minmax(0,1fr)}}

/* V2.2 — identidade editorial engenharia, acessibilidade e cronograma vibrante */
:root{--blue:#1465ef;--blue2:#093f95;--nav:#0c1828;--soft:#eef4fc;--line:#dce5f0;--ink:#13283e}
html{font-size:16px}body{font-size:14px;background:#f2f5f9;color:#13283e;line-height:1.5}
aside{background:#101923;box-shadow:6px 0 32px #0c182812}nav a{color:#c4d0df;font-size:13px}nav a:hover,nav a.active{background:#25384b;color:#fff}nav label{font-size:10px;color:#8297ac}
.logo b{background:#206cf2;border-radius:9px}.logo span{letter-spacing:.5px}header{background:#fff;border-color:#e3eaf3}
.content{max-width:1660px;padding:30px 34px}.title h1{font-size:32px;letter-spacing:-1px;font-weight:800}.title small,.card small,.hero small{font-size:11px;letter-spacing:1.2px}
.panel,.card,.obra{border:1px solid #e1e9f3;background:#fff;border-radius:17px;box-shadow:0 8px 30px #122b4510}.card{padding:24px}.card strong{font-size:25px;letter-spacing:-.7px}
.btn{background:#1465ef;border-radius:9px;font-weight:700}.btn:hover{filter:brightness(.94)}.ghost{border-color:#d8e3ef!important;color:#1d4c83!important}
.tag{background:#e8f1ff;color:#1753a4;font-size:11px}.bar.big{height:7px}.bar.big i{background:linear-gradient(90deg,#1566f0,#1ed4ed)}
.obra-overview-split{grid-template-columns:minmax(310px,33%) minmax(0,67%);gap:18px}.obra-overview-split>.panel{padding:24px}
.obra-overview-split .panel h2{font-size:19px;letter-spacing:-.35px}.obra-overview-split .panel>.row>div>small{font-size:11px;color:#4b6e94;font-weight:800}
.timeline-panel .bm-timeline{padding-left:39px}.timeline-panel .bm-timeline:before{left:14px;width:2px;background:#bfd6f4}.timeline-panel .bm-dot{left:-39px;width:30px;height:30px;border-width:2px;font-size:11px;background:#fff;color:#1767e8;border-color:#91b9f5}.timeline-panel .bm-event.current .bm-dot{background:#1767e8;color:#fff}
.timeline-panel .bm-card{background:#f9fbfe;padding:14px;border-color:#dce8f5}.timeline-panel .bm-card b{font-size:14px}.timeline-panel .bm-card small{font-size:11px}.timeline-panel .bm-card p{font-size:12px;line-height:1.55}.timeline-panel .bm-card .row strong{font-size:12px}.timeline-panel .bm-actions .btn{font-size:11px}
.legend{gap:8px;margin:17px 0}.legend span{font-size:11px;padding:6px 10px;font-weight:750}
.cat-dem{--svc:#f04c43;background:#f04c43}.cat-est{--svc:#2769f6;background:#2769f6}.cat-alv{--svc:#f29322;background:#f29322}.cat-inst{--svc:#9355ee;background:#9355ee}.cat-imp{--svc:#00aeca;background:#00aeca}.cat-rev{--svc:#11a96c;background:#11a96c}.cat-cob{--svc:#b76a27;background:#b76a27}.cat-acab{--svc:#e4b31c;background:#e4b31c}
.progress-panel .schedule-label,.progress-panel .schedule-track{height:61px}.progress-panel .schedule-key>b,.progress-panel .schedule-calendar{height:70px}
.progress-panel .schedule-label strong{font-size:12px;line-height:1.3}.progress-panel .schedule-label small{font-size:10px}.progress-panel .schedule-label>b{font-size:12px;color:#15385d}
.progress-panel .schedule-months{font-size:11px}.progress-panel .schedule-dates span,.progress-panel .schedule-dates small{font-size:10px}
.progress-panel .schedule-cell.active i{height:5px;border-radius:8px;box-shadow:0 0 9px color-mix(in srgb,var(--svc) 32%,transparent);background:linear-gradient(90deg,var(--svc),color-mix(in srgb,var(--svc) 68%,white))}
.progress-panel .schedule-cell.active:after{width:8px;height:8px;top:calc(50% - 4px);box-shadow:0 0 0 4px color-mix(in srgb,var(--svc) 16%,transparent)}
.schedule-note{font-size:11px;line-height:1.65}.gantt2-name b{font-size:12px}.gantt2-name small{font-size:10px}
@media(max-width:1150px){.obra-overview-split{grid-template-columns:minmax(270px,37%) minmax(0,63%)}}
@media(max-width:850px){.obra-overview-split{grid-template-columns:1fr}.content{padding:20px}.obra-overview-split>.panel{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
