:root{--navy:#14273f;--ink:#192d44;--muted:#697b8e;--line:#e3e9ef;--bg:#f3f6fa;--green:#177d66;--lime:#c1f27a;--blue:#386be7;--red:#b83744;--amber:#ae690d;--radius:14px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;padding:10px 15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem}button:hover{background:#edf2f7}button:disabled{opacity:.5;cursor:wait}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e0;border-radius:8px;color:var(--ink);background:#fff;min-width:0;font-size:.95rem}textarea{min-height:110px;resize:vertical}label{display:grid;gap:8px;font-size:.9rem;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;letter-spacing:-1px}h2{font-size:1.5rem;letter-spacing:-.5px}h3{font-size:1.05rem}small,.small{font-size:.8rem}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:2px}.primary{background:var(--navy);color:white;border-color:var(--navy)}.primary:hover{background:#244765}.accent{background:var(--lime);color:var(--navy);border-color:var(--lime)}.danger{color:var(--red)}.wide{width:100%;justify-content:space-between}.brand{display:flex;align-items:center;gap:8px;color:inherit;font-size:1.45rem;letter-spacing:-.7px;font-weight:600;white-space:nowrap}.brand b{font-size:.72rem;padding:4px 6px;border:1px solid #6c8299;border-radius:4px;letter-spacing:1px}.brand-icon{width:34px;height:34px;border:6px solid var(--lime);color:transparent;display:inline-flex;border-radius:8px}.login{min-height:100vh;display:grid;grid-template-columns:1.12fr 1fr;background:#fff}.login-story{padding:50px 10%;color:white;background:var(--navy);display:flex;flex-direction:column;justify-content:space-between;gap:50px;overflow:hidden}.login-story h1{font-size:clamp(2.5rem,4vw,4rem);line-height:1.1;margin-top:20px;font-weight:600}.login-story p{color:#b6c7d7;max-width:330px;line-height:1.7}.login-story small{color:#b6c7d7}.login-panel{padding:10%;align-self:center;max-width:620px;width:100%;margin:auto}.login-panel h2{margin:18px 0 10px;font-size:2rem}.login-panel form{display:grid;gap:20px;margin:30px 0}.construction-art{height:140px;display:flex;align-items:end;gap:12px;margin-top:30px;transform:skewY(-8deg)}.construction-art i{height:70%;width:52px;background:linear-gradient(90deg,#34516e,#233c56);border-top:3px solid #b4df77}.construction-art i:nth-child(2){height:90%}.construction-art i:nth-child(3){height:110%}.construction-art i:nth-child(4){height:80%}.construction-art i:nth-child(5){height:55%}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#d2dce7;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 17px 16px}.sidebar .brand{margin:0 9px 22px;color:#fff}.portal-badge{font-size:.7rem;letter-spacing:1.4px;color:#aac0d4;margin:0 12px 20px}.nav-scroll{overflow-y:auto;flex:1;scrollbar-width:thin}.nav-label{font-size:.7rem;color:#90a7be;letter-spacing:1px;text-transform:uppercase;padding:24px 12px 8px}.nav-item{width:100%;border:0;background:transparent;color:#c8d4e2;justify-content:flex-start;padding:11px 12px;font-size:.87rem;font-weight:400;text-align:left;border-radius:7px;margin:2px 0;line-height:1.4}.nav-item:hover{background:#223a53}.nav-item.active{background:#c1f27a;color:#14273f;font-weight:650}.nav-icon{font-size:1rem;width:20px;text-align:center;flex-shrink:0}.sidebar-footer{border-top:1px solid #32465b;padding:18px 8px 0;margin-top:18px;display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;background:#334963;color:white;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:.8rem}.sidebar-footer strong{font-size:.8rem;display:block}.sidebar-footer button{padding:7px;background:none;border:0;color:#b8c7d7}.workspace{min-width:0}.topbar{height:82px;padding:0 36px;background:white;border-bottom:1px solid var(--line);display:flex;gap:22px;align-items:center;justify-content:space-between}.topbar .context{display:flex;gap:16px;align-items:center;min-width:0}.topbar select{max-width:270px;border:0;background:var(--bg);font-size:.85rem}.topbar span{white-space:nowrap}.topbar .date{font-size:.8rem;color:var(--muted)}.content{padding:32px 36px;max-width:1750px;margin:auto}.page-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading h1{margin:0 0 8px;font-size:1.8rem}.page-heading p{margin:0;font-size:.9rem;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;min-width:0}.kpi-label{font-size:.82rem;color:var(--muted);display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.kpi-value{font-size:clamp(1.3rem,1.7vw,2rem);font-weight:650;letter-spacing:-1px;overflow-wrap:anywhere}.kpi-note{font-size:.78rem;color:var(--muted);margin-top:12px}.card.dark{background:var(--navy);color:white;border-color:var(--navy)}.card.dark .kpi-label,.card.dark .kpi-note{color:#b6c9de}.card.dark .kpi-value{color:var(--lime)}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px;overflow:hidden}.panel-header{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}.panel-header h3{margin:0}.panel-body{padding:24px}.two-col{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:24px}.chart-wrap{padding:24px;min-height:270px}.bar-row{display:grid;grid-template-columns:minmax(100px,1fr) 2fr 80px;align-items:center;gap:12px;margin:17px 0;font-size:.82rem}.track{height:9px;border-radius:10px;background:#edf1f6;overflow:hidden}.fill{height:100%;border-radius:10px;background:var(--green)}.fill.warn{background:#eaa54a}.fill.critical{background:#d2515c}.budget-bars{display:flex;height:12px;border-radius:7px;overflow:hidden;background:#edf1f6}.budget-bars i{display:block;height:100%}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-bottom:18px}.legend span:before{content:'';display:inline-block;width:8px;height:8px;background:var(--green);border-radius:2px;margin-right:7px}.legend span:nth-child(2):before{background:#7c9aee}.legend span:nth-child(3):before{background:#e9b257}.cash-chart{display:flex;align-items:end;gap:18px;height:190px;border-bottom:1px solid var(--line);padding-bottom:25px;margin:25px 0 12px}.month{flex:1;display:flex;justify-content:center;align-items:end;height:100%;gap:5px;position:relative}.month i{display:block;width:24%;min-width:7px;border-radius:4px 4px 0 0;background:var(--green)}.month i.out{background:#8fa8df}.month label{position:absolute;bottom:-24px;font-size:.72rem;color:var(--muted);font-weight:400}.ring{width:164px;height:164px;border-radius:50%;margin:20px auto;display:grid;place-items:center;background:conic-gradient(var(--green) var(--angle),#edf2f7 0)}.ring>div{width:132px;height:132px;background:white;border-radius:50%;display:grid;place-content:center;text-align:center}.ring strong{font-size:2rem}.ring small{color:var(--muted);margin-top:5px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.85rem;text-align:left}th{background:#f8fafc;color:var(--muted);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}th,td{padding:15px 22px;border-bottom:1px solid #edf1f5;vertical-align:middle}td strong{font-weight:600}td small{display:block;color:var(--muted);margin-top:5px}tr:last-child td{border-bottom:0}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.badge{font-size:.74rem;border-radius:5px;padding:5px 8px;background:#edf2f7;color:#5d6e83;white-space:nowrap;display:inline-block}.badge.green{background:#e4f4ee;color:#177657}.badge.amber{background:#fff3de;color:#976012}.badge.red{background:#fde9eb;color:#b63742}.toolbar{display:flex;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line)}.toolbar input{max-width:350px}.toolbar select{max-width:190px}.empty{text-align:center;padding:45px 24px;color:var(--muted);line-height:1.7}.empty strong{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:7px}.notice{padding:16px 20px;border:1px solid #e4d4ad;background:#fff9ed;color:#7f5c23;border-radius:10px;margin:0 0 20px;font-size:.87rem;line-height:1.6}.notice.info{border-color:#c9d9ee;background:#edf4fc;color:#365f8a}.notice a{font-weight:600}.alert-row{padding:15px 0;border-bottom:1px solid var(--line);font-size:.85rem;display:flex;gap:12px}.alert-icon{background:#fff1db;color:#ad771e;border-radius:8px;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.alert-row small{display:block;color:var(--muted);margin-top:5px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{padding:24px;background:white;border:1px solid var(--line);border-radius:14px}.project-card h3{margin:22px 0 8px}.project-card .actions{margin-top:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.form-error{color:var(--red);font-size:.88rem;line-height:1.5}.form-help{font-size:.8rem;color:var(--muted);font-weight:400;line-height:1.5}.check{display:flex;gap:10px;align-items:center;font-size:.85rem;font-weight:400}.check input{width:18px;height:18px;flex-shrink:0}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 0}.permission-groups{max-height:300px;overflow:auto;padding:15px;background:var(--bg);border-radius:8px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.details-grid dt{color:var(--muted);font-size:.8rem;margin-bottom:6px}.details-grid dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.details-grid>div{border-bottom:1px solid var(--line);padding-bottom:12px}.timeline{padding-left:20px;border-left:2px solid var(--line);margin:24px 0}.timeline p{font-size:.85rem}.timeline small{display:block;color:var(--muted);margin-top:5px}.attachment{padding:10px 0;display:block;border-bottom:1px solid var(--line)}.step-label{font-size:.76rem;color:var(--muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}dialog{border:0;border-radius:18px;box-shadow:0 20px 100px #12273d44;max-width:780px;width:calc(100% - 30px);padding:0;color:var(--ink);max-height:90vh}dialog::backdrop{background:#10263f88;backdrop-filter:blur(3px)}.modal-header{padding:25px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:10px}.modal-header h2{margin:0}.modal-content{padding:28px}.modal-footer{display:flex;justify-content:end;gap:10px;margin-top:26px}#toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:white;padding:16px 24px;border-radius:10px;max-width:430px;z-index:100;display:none}#toast.show{display:block}.mobile-menu{display:none}.report-page{padding:40px;background:white;max-width:1100px;margin:30px auto}.report-page .brand{margin-bottom:25px}.section-title{margin:26px 0 18px}.reference-cell{max-width:450px;white-space:normal;overflow-wrap:anywhere}.loading{padding:60px;text-align:center;color:var(--muted)}.link-button{border:0;background:none;color:var(--blue);padding:5px}.text-right{text-align:right}.parameter-table input{min-width:100px;max-width:160px;padding:7px}.finance-strip{display:flex;gap:24px;flex-wrap:wrap;padding:20px;background:#f8fafc;border-radius:10px}.finance-strip strong{display:block;margin-top:8px}.support-note{line-height:1.6;font-size:.85rem;color:var(--muted)}@media(max-width:1200px){.shell{grid-template-columns:220px minmax(0,1fr)}.content{padding:25px}.topbar{padding:0 25px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.sidebar .brand{font-size:1.2rem}.topbar .date{display:none}}@media(max-width:760px){.login{grid-template-columns:1fr}.login-story{padding:28px;min-height:280px;gap:28px}.login-story h1{font-size:2.3rem}.login-story small,.construction-art{display:none}.login-panel{padding:35px 28px}.shell{display:block}.sidebar{position:fixed;left:0;top:0;width:255px;z-index:30;transform:translateX(-100%);transition:transform .2s}.shell.nav-open .sidebar{transform:translateX(0)}.mobile-menu{display:inline-flex}.topbar{height:auto;min-height:72px;padding:14px 18px;gap:10px}.topbar .context{gap:8px;flex-wrap:wrap}.topbar select{max-width:180px}.topbar .context>span{display:none}.content{padding:24px 16px}.page-heading{flex-direction:column}.cards{gap:12px}.card{padding:18px}.kpi-value{font-size:1.35rem}.kpi-label{margin-bottom:14px}.project-grid,.form-grid,.details-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.toolbar{padding:15px;flex-wrap:wrap}.panel-header,.panel-body,.chart-wrap{padding:18px}th,td{padding:13px 16px}.modal-content{padding:20px}.modal-header{padding:20px}.modal-header h2{font-size:1.25rem}.bar-row{grid-template-columns:100px 1fr 60px;font-size:.75rem}.report-page{padding:20px;margin:0}.brand{font-size:1.2rem}}@media print{body{background:white}.sidebar,.topbar,.actions,.toolbar,button,.no-print,#toast,dialog{display:none!important}.shell{display:block}.content,.report-page{padding:0;margin:0;max-width:none}.panel{break-inside:avoid;border-radius:0}.cards{grid-template-columns:repeat(4,1fr)}.table-wrap{overflow:visible}table{font-size:10pt}th,td{padding:8px}a{color:inherit}.badge{border:1px solid #ccc}.card.dark{background:white;color:#000}.card.dark .kpi-value{color:#000}@page{size:A4;margin:15mm}}

.attachment-preview{max-width:100%;max-height:300px;object-fit:contain;border-radius:8px;display:block;margin:15px 0 0;background:#f4f6fa}
.pending-pulse{margin-left:auto;min-width:20px;height:20px;padding:2px 6px;border-radius:999px;background:#ffb84d;color:#18273b;font-size:.72rem;font-weight:800;text-align:center;animation:pendingPulse 1.2s infinite}.material-disabled{opacity:.52;filter:grayscale(.72);background:#0b1c30}.material-disabled .document-thumb{filter:grayscale(1)}.material-disabled strong{text-decoration:line-through;text-decoration-color:#e6ac58}.material-returned{border:2px solid #ffb84d!important;animation:returnedPulse 1.15s infinite}@keyframes pendingPulse{50%{transform:scale(1.15);box-shadow:0 0 0 5px #ffb84d33}}@keyframes returnedPulse{50%{box-shadow:0 0 0 5px #ffb84d55;background:#fff9ed}}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;padding:18px}.calendar-day{min-height:90px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.calendar-day strong{font-size:.8rem}.calendar-day small{display:block;margin-top:8px;color:var(--muted)}
.content .calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}.content .calendar-switch{display:flex;gap:7px}.content .calendar-switch button{padding:8px 12px}.content .calendar-switch button.active{background:#1bbcc9;color:#fff;border-color:#1bbcc9}.content .calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important;padding:14px!important;background:#0e243b}.content .calendar-day{display:flex!important;flex-direction:column;gap:7px;min-height:132px;padding:11px!important;border:1px solid #31506e!important;border-radius:10px!important;background:#142c45!important;color:#e9f3fb}.content .calendar-day.muted-day{opacity:.45}.content .calendar-day.today{border:2px solid #24c7d5!important;background:#183b56!important}.content .calendar-day strong{display:flex;justify-content:space-between;align-items:center;font-size:.82rem!important;color:#f7d278}.content .calendar-day em{font-style:normal;font-size:.7rem;color:#a9c2d8}.content .calendar-event{display:block;padding:6px 7px;border-radius:6px;background:#245c76;color:#f2fbff;font-size:.7rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.content .calendar-event.status-Aprobado,.content .calendar-event.status-Activo{background:#21684f}.content .calendar-event.status-Rechazado{background:#803b4a}.content .calendar-empty{color:#7891a9;font-size:.72rem;margin-top:8px}@media(max-width:760px){.content .calendar-grid{grid-template-columns:repeat(7,minmax(115px,1fr))!important;overflow-x:auto}.content .calendar-day{min-height:118px}.content .calendar-toolbar{align-items:flex-start;flex-direction:column}}

.pending-pulse{animation:none!important;box-shadow:none!important;background:#f0bb52!important}.material-returned{animation:none!important;box-shadow:none!important;background:transparent!important;border:1px solid #ffb84d!important}

#processing-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#071a33b8;backdrop-filter:blur(4px);padding:24px;cursor:wait}.processing-card{width:min(360px,100%);padding:30px 26px;border:1px solid #4b6b89;border-radius:18px;background:#102942;color:#f4f9ff;text-align:center;box-shadow:0 18px 60px #0008;display:grid;gap:10px}.processing-card strong{font-size:1.1rem}.processing-card span:not(.processing-mark){color:#aecdde}.processing-card small{color:#7f9db8;line-height:1.45}.processing-mark{height:42px;display:flex;align-items:end;justify-content:center;gap:6px;margin-bottom:6px}.processing-mark i{display:block;width:10px;border-radius:5px 5px 2px 2px;background:#21c6d3;animation:processingRise .8s ease-in-out infinite alternate}.processing-mark i:nth-child(1){height:18px;animation-delay:-.45s}.processing-mark i:nth-child(2){height:36px;animation-delay:-.2s}.processing-mark i:nth-child(3){height:25px;animation-delay:-.65s}@keyframes processingRise{to{transform:translateY(-8px);opacity:.55}}body.is-processing{overflow:hidden}body.is-processing button,body.is-processing a,body.is-processing input,body.is-processing select,body.is-processing textarea{pointer-events:none}

.progress-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}.progress-area-card{border:1px solid #31506e;border-radius:12px;padding:18px;background:#102b45}.progress-area-heading{display:flex;justify-content:space-between;gap:12px;color:#f7d278}.progress-area-heading strong{color:#edf7ff}.progress-track,.progress-subareas i,.progress-summary-list i{display:block;height:9px;background:#27445e;border-radius:99px;overflow:hidden;margin:12px 0}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#20c6d3,#72d2a5);margin:0}.progress-area-card>small{color:#a9c2d8}.progress-subareas{display:grid;gap:10px;margin-top:16px}.progress-subareas>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;font-size:.78rem}.progress-subareas span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-subareas b{color:#7ee1d2}.progress-subareas i{grid-column:1/-1;height:6px;margin:0}.progress-subareas em,.progress-summary-list em{display:block;height:100%;background:#25c6d5;border-radius:99px}.progress-event{width:100%;text-align:left;display:block;border:0;padding:7px;background:#235c78;color:#ecfaff}.progress-event b,.progress-event small{display:block;font-size:.68rem;overflow:hidden;text-overflow:ellipsis}.progress-event small{color:#bbdcec;margin-top:3px}.measurement-chart{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:24px;padding:24px}.pie-chart{width:170px;height:170px;border-radius:50%;background:var(--pie);display:grid;place-items:center;margin:auto}.pie-chart span{background:#102b45;width:108px;height:108px;border-radius:50%;display:grid;place-content:center;text-align:center;font-weight:700;color:#f5fbff}.pie-chart small{display:block;font-weight:400;color:#a9c2d8;font-size:.7rem;margin-top:4px}.measurement-legends{display:grid;gap:12px}.measurement-legend{display:flex;align-items:center;gap:9px;font-size:.83rem}.measurement-legend i{width:10px;height:10px;border-radius:3px;flex:none}.measurement-legend div{min-width:0;flex:1}.measurement-legend strong,.measurement-legend small{display:block}.measurement-legend small{color:#a9c2d8;margin-top:3px}.measurement-legend b{color:#f7d278}.progress-summary-list{padding:18px;display:grid;gap:14px}.progress-summary-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;font-size:.8rem}.progress-summary-list span{color:#7ee1d2}.progress-summary-list i{grid-column:1/-1;height:7px;margin:0}@media(max-width:760px){.progress-area-grid{grid-template-columns:1fr;padding:14px}.measurement-chart{grid-template-columns:1fr;padding:20px}.pie-chart{width:150px;height:150px}}
.measurement-chart:has(.measurement-legends:empty){grid-template-columns:1fr;min-height:285px;place-items:center;text-align:center}.measurement-chart:has(.measurement-legends:empty) .pie-chart{width:210px;height:210px}.measurement-chart:has(.measurement-legends:empty) .pie-chart span{width:132px;height:132px}.measurement-chart:has(.measurement-legends:empty)::after{content:'Los porcentajes y la distribución por área aparecerán aquí al aprobar avances de obra.';max-width:330px;color:#a9c2d8;font-size:.9rem;line-height:1.5}
.two-col:has(.measurement-chart){grid-template-columns:1fr}.two-col:has(.measurement-chart)>.panel:nth-child(2){min-width:0}.two-col:has(.measurement-chart) .progress-summary-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:20px}.two-col:has(.measurement-chart) .progress-summary-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:8px;padding:13px;border:1px solid #31506e;border-radius:10px;background:#102b45;font-size:.76rem}.two-col:has(.measurement-chart) .progress-summary-list>div strong{line-height:1.3}.two-col:has(.measurement-chart) .progress-summary-list>div i{margin:0;grid-column:1/-1}.two-col:has(.measurement-chart) .progress-summary-list>div span{align-self:start}@media(max-width:1180px){.two-col:has(.measurement-chart) .progress-summary-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.two-col:has(.measurement-chart) .progress-summary-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.two-col:has(.measurement-chart) .progress-summary-list{grid-template-columns:1fr}}
.measurement-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:14px;min-height:275px;padding:26px 22px 20px;align-items:end;overflow-x:auto}.measurement-column{display:grid;grid-template-rows:190px auto auto;gap:7px;min-width:70px;text-align:center}.measurement-column-scale{height:190px;display:flex;align-items:flex-end;justify-content:center;padding:0 9px;border-bottom:1px solid #42627e;background:linear-gradient(180deg,#17375466 0,#102b4500 100%)}.measurement-column-scale i{display:flex;width:100%;min-height:4px;align-items:flex-start;justify-content:center;border-radius:7px 7px 2px 2px;box-shadow:0 0 16px #25c6d544;transition:height .25s ease}.measurement-column-scale b{margin-top:-23px;font-size:.7rem;color:#dffcff;white-space:nowrap}.measurement-column strong{display:block;min-height:32px;font-size:.68rem;line-height:1.2;overflow:hidden}.measurement-column small{color:#a9c2d8;font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.measurement-columns{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:10px;padding:18px 12px}.measurement-column{min-width:60px}.measurement-column-scale{height:150px}.measurement-column{grid-template-rows:150px auto auto}}
.area-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}.area-progress-row{padding:15px;border:1px solid #31506e;border-radius:12px;background:#102b45}.area-progress-head,.area-progress-meta{display:flex;align-items:start;justify-content:space-between;gap:14px}.area-progress-head strong{line-height:1.25}.area-progress-head b{color:#7ee1d2;white-space:nowrap}.area-progress-track{height:13px;margin:13px 0 10px;overflow:hidden;border-radius:99px;background:#27445e;box-shadow:inset 0 1px 2px #0004}.area-progress-track i{display:block;height:100%;min-width:0;border-radius:99px;box-shadow:0 0 12px currentColor;transition:width .25s ease}.area-progress-meta{font-size:.78rem;color:#a9c2d8}.area-progress-meta strong{color:#f7d278;font-size:.84rem;white-space:nowrap}@media(max-width:900px){.area-progress-list{grid-template-columns:1fr}}@media(max-width:560px){.area-progress-list{padding:14px}.area-progress-meta{display:grid;gap:4px}.area-progress-meta strong{white-space:normal}}

.progress-calendar .calendar-day:nth-child(-n+7){background:#142c45!important}.progress-calendar .calendar-day:nth-child(n+8):nth-child(-n+14){background:#15354e!important}.progress-calendar .calendar-day:nth-child(n+15):nth-child(-n+21){background:#173b51!important}.progress-calendar .calendar-day:nth-child(n+22):nth-child(-n+28){background:#15354e!important}.progress-calendar .calendar-day:nth-child(n+29):nth-child(-n+35){background:#142c45!important}.progress-calendar .calendar-day:nth-child(n+36){background:#15354e!important}.progress-calendar .calendar-day.today{background:#1b475c!important}@media(max-width:760px){.progress-calendar .calendar-day:nth-child(n+8):nth-child(-n+14),.progress-calendar .calendar-day:nth-child(n+15):nth-child(-n+21),.progress-calendar .calendar-day:nth-child(n+22):nth-child(-n+28),.progress-calendar .calendar-day:nth-child(n+29):nth-child(-n+35),.progress-calendar .calendar-day:nth-child(n+36){background:#15354e!important}}


.record-audit{margin:22px 0 8px;padding:16px;border:1px solid #34516e;border-radius:12px;background:#0b2038}.record-audit .section-title{margin-top:0}.audit-created{display:grid;gap:3px;margin:0 0 12px}.audit-created small{color:#9cb4ca}.record-audit .timeline{max-height:260px;overflow:auto;padding-right:6px}.record-audit .timeline p{margin:0 0 10px;padding-left:12px;border-left:3px solid #22c5d5;display:grid;gap:2px}.record-audit .timeline small{color:#9cb4ca}
