/* SIMFLY v42.0 — Profil TPI operational modules */
.tpi-profile-tabs{display:flex;align-items:center;gap:8px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scrollbar-width:thin;scroll-snap-type:x proximity}
.tpi-profile-tabs a{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}
.tpi-module-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.65fr);gap:20px;align-items:start}
.module-form{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto}
.module-form h2,.module-head h2{margin:0}
.module-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.module-head p{margin:4px 0 0;color:var(--muted)}
.module-summary{display:grid;grid-template-columns:minmax(260px,420px);margin-bottom:18px}
.module-summary article{position:relative;overflow:hidden;padding:21px 24px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#0b3978,#071a3d);box-shadow:0 12px 28px #071a3d20}
.module-summary article:after{content:"";position:absolute;right:-35px;top:-45px;width:140px;height:140px;border:24px solid #c9a44c33;border-radius:50%}
.module-summary span,.module-summary small{display:block;color:#d3e0f3}
.module-summary b{display:block;margin:4px 0;font-size:27px;color:#e2c46d}
.module-summary.danger article{background:linear-gradient(135deg,#81281f,#3e1010)}
.module-summary.danger b{color:#ffd3b7}
.cell-wrap{min-width:180px;max-width:340px;white-space:normal;overflow-wrap:anywhere}
.form-cancel{text-align:center}
.flight-direction{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}
.flight-direction.arrival{background:#e7f8ef;color:#067647}
.flight-direction.departure{background:#edf3fc;color:#175cd3}
.officer-list{min-width:210px;white-space:normal}
.officer-list span{display:inline-block;margin:2px 4px 2px 0;padding:4px 7px;border-radius:8px;background:#eef4fb;color:#16487f;font-size:12px;font-weight:700}
.module-form input[readonly]{background:#f2f4f7;color:#667085;cursor:not-allowed}
.super-map-shell{margin-bottom:20px}
.super-map-shell .map-panel{border:1px solid #ffffff22;box-shadow:0 18px 42px #071a3d2b}
.super-map-shell #map{height:480px;min-height:360px;background:#dce7f3}
.super-map-shell .map-title{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#071a3d,#0c3970)}
.super-map-shell .map-title .eyebrow{color:#e8c86e}
.super-map-shell .map-title h1{margin:3px 0 0;font-size:27px}
.super-map-shell .map-title p{margin-top:4px}
.super-map-badge{flex:0 0 auto;padding:9px 13px;border:1px solid #ffffff33;border-radius:11px;background:#ffffff12;color:#fff;font-weight:800}
@media(max-width:1050px){.tpi-module-layout{grid-template-columns:1fr}.module-form{position:static;max-height:none}}
@media(max-width:650px){.tpi-profile-tabs{margin-inline:-2px}.module-summary{grid-template-columns:1fr}.super-map-shell #map{height:390px}.super-map-shell .map-title{align-items:flex-start;flex-direction:column}.super-map-badge{display:none}.cell-wrap{min-width:150px}.module-form{padding:18px}}

/* Supervisor bertugas: jadwal tahunan, impor Excel, dan pembacaan shift aktif. */
.traffic-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 20px}.traffic-summary article{min-width:0;padding:18px 19px;border:1px solid #dce4ef;border-radius:16px;background:linear-gradient(145deg,#fff,#f5f8fc);box-shadow:0 6px 18px rgba(16,42,86,.06)}.traffic-summary span,.traffic-summary small{display:block;overflow:hidden;color:#687d95;text-overflow:ellipsis;white-space:nowrap}.traffic-summary b{display:block;max-width:100%;margin:5px 0 2px;overflow:hidden;color:#0b3978;font-size:clamp(20px,2vw,28px);text-overflow:ellipsis;white-space:nowrap}.traffic-section-head{margin:28px 0 11px;padding-top:7px}.traffic-section-head h2{margin:3px 0}.status.scheduled{background:#e8eef7;color:#315273}.status.on_time{background:#def4e9;color:#11603f}.status.cancelled{background:#fee8e7;color:#9b2520}@media(max-width:980px){.traffic-summary{grid-template-columns:1fr 1fr}}@media(max-width:520px){.traffic-summary{grid-template-columns:1fr}.traffic-summary article{padding:16px}}

/* Penundaan keberangkatan penumpang v40 — identitas per orang dan rekap otomatis. */
.delay-timestamp{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:17px 19px;border:1px solid #d7e3ef;border-left:5px solid #c9a44c;border-radius:15px;background:linear-gradient(135deg,#fff,#f4f8fc);box-shadow:0 7px 20px rgba(16,42,86,.06)}.delay-timestamp>div{display:grid;gap:3px;min-width:0}.delay-timestamp span,.delay-timestamp small{color:#687d95}.delay-timestamp b{overflow-wrap:anywhere;color:#0b3978;font-size:clamp(16px,2vw,21px)}.delay-timestamp__lock{flex:0 0 auto;max-width:240px;padding:9px 12px;border-radius:999px;background:#e7f5ee;color:#126345!important;font-size:10px;font-weight:900;line-height:1.3;text-align:center;text-transform:uppercase}.module-summary.warning article{background:linear-gradient(135deg,#6e4511,#2f210e)}.module-summary.warning b{color:#ffe084}.delay-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.delay-summary article{min-width:0;padding:18px 19px}.delay-summary article:nth-child(2){background:linear-gradient(135deg,#0b3978,#071a3d)}.delay-summary article:nth-child(3){background:linear-gradient(135deg,#7a351d,#42160e)}.delay-summary article:nth-child(4){background:linear-gradient(135deg,#225d4a,#12382d)}.delay-summary span,.delay-summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delay-summary b{font-size:clamp(22px,2.5vw,31px)}.delay-daily-recap{margin-bottom:20px}.delay-daily-recap .table-scroll{max-height:310px}.recap-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eef4fb;color:#315273;font-size:11px;font-weight:800}.delay-layout{grid-template-columns:minmax(310px,.58fr) minmax(0,1.42fr)}.delay-layout>.table-scroll{min-width:0}.delay-form{position:sticky;top:18px}.delay-form .form-note{margin:0;padding:11px 12px;border-left:4px solid #c9a44c;border-radius:8px;background:#fff8df;color:#685022;font-size:12px;line-height:1.5}.delay-form .form-note b{display:block;margin-bottom:3px}.delay-person-table table{min-width:1120px}.passport-number{display:inline-block;padding:5px 8px;border-radius:8px;background:#eef3f9;color:#163f70;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;letter-spacing:.04em}.timestamp-help{padding:9px 10px;border-radius:8px;background:#eef6fb;color:#49647e;line-height:1.45}
@media(max-width:1050px){.delay-summary{grid-template-columns:1fr 1fr}.delay-layout{grid-template-columns:1fr}.delay-form{position:static;max-height:none}}
@media(max-width:760px){.delay-timestamp{align-items:flex-start;flex-direction:column}.delay-timestamp__lock{max-width:none}.delay-summary{grid-template-columns:1fr}.delay-daily-recap .module-head{align-items:flex-start;flex-direction:column}.recap-badge{flex:initial}.delay-person-table table{min-width:1060px}}

/* SIMFLY v42 — formulir Inventaris/Sarpras bertahap. */
.inventory-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.inventory-summary article{min-width:0;padding:18px}.inventory-summary article:nth-child(2){background:linear-gradient(135deg,#126348,#0a3e2d)}.inventory-summary article:nth-child(3){background:linear-gradient(135deg,#9b2f28,#561a17)}.inventory-summary article:nth-child(4){background:linear-gradient(135deg,#624c16,#35280b)}.inventory-summary .inventory-date{font-size:clamp(17px,2vw,23px)}
.inventory-questionnaire{min-width:0;margin-bottom:20px;padding:0;overflow:hidden;border-top:5px solid #c9a44c}.inventory-questionnaire__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:25px 26px 19px;background:linear-gradient(145deg,#fff,#f4f8fc)}.inventory-questionnaire__head h2{margin:3px 0}.inventory-questionnaire__head p{margin:5px 0 0;color:var(--muted)}.inventory-progress{display:grid;flex:0 0 min(260px,34%);gap:7px;color:#315273;font-size:12px;font-weight:800}.inventory-progress i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#dce6f1}.inventory-progress b{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b5da8,#c9a44c);transition:width 220ms ease}.inventory-pages{padding:4px 26px 6px}.inventory-page[hidden]{display:none!important}.inventory-page__title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid #e2e8f0}.inventory-page__title b{color:#0b3978}.inventory-page__title span{color:#73859a;font-size:12px}.inventory-question{padding:20px 0;border-bottom:1px solid #e7edf4}.inventory-question:last-child{border-bottom:0}.inventory-question__label{display:flex;align-items:flex-start;gap:12px;margin-bottom:13px}.inventory-question__label>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#0b3978;color:#fff;font-weight:900}.inventory-question__label>div{display:grid;min-width:0;gap:3px}.inventory-question__label b{overflow-wrap:anywhere;color:#173b67}.inventory-question__label small{color:#71839a}.inventory-question__fields{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(190px,.68fr) minmax(220px,1fr);gap:12px}.inventory-question__fields label{min-width:0}.inventory-questionnaire__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:18px 26px;border-top:1px solid #e2e8f0;background:#f7f9fc}.inventory-questionnaire__actions [data-inventory-counter]{margin-right:auto;color:#60748d;font-weight:800}.inventory-register{margin-bottom:20px}.asset-master{margin-top:20px}.asset-master__layout,.delay-category-manager__layout{display:grid;grid-template-columns:minmax(270px,.48fr) minmax(0,1.52fr);gap:20px;align-items:start}.asset-master__layout>.table-scroll,.delay-category-manager__layout>.table-scroll{min-width:0}.inline-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.inline-actions form{margin:0}.link-button{width:auto;min-height:0;padding:0;border:0;background:transparent;color:#9a3e32;box-shadow:none;font:inherit;font-weight:800}.link-button:hover{transform:none;background:transparent;color:#6f201a}.empty-guidance{padding:30px;border:1px dashed #bcc9d8;border-radius:13px;background:#f7f9fc;color:#5e728b;text-align:center}

/* SIMFLY v42 — Supervisor bertugas dan impor jadwal tahunan. */
.supervisor-now{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px;padding:24px 26px;overflow:hidden;border-radius:20px;color:#fff;background:linear-gradient(130deg,#071a3d,#0c4d8d);box-shadow:0 15px 34px rgba(7,26,61,.2)}.supervisor-now.is-empty{background:linear-gradient(130deg,#4c5b6d,#26394d)}.supervisor-now span,.supervisor-now p{color:#d7e3f2}.supervisor-now h2{margin:5px 0;color:#f3d77c;font-size:clamp(22px,2.5vw,32px)}.supervisor-now p{margin:0}.supervisor-now__facts{display:grid;grid-template-columns:repeat(2,minmax(135px,1fr));gap:10px;flex:0 0 auto}.supervisor-now__facts span{display:grid;gap:3px;padding:13px 15px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.1);font-size:11px}.supervisor-now__facts b{overflow-wrap:anywhere;color:#fff;font-size:17px}.supervisor-toolbar{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:18px}.supervisor-toolbar form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.supervisor-toolbar label{min-width:140px}.supervisor-toolbar .btn{white-space:nowrap}.supervisor-input-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;margin-bottom:20px}.supervisor-import-form,.supervisor-manual-form{min-width:0}.supervisor-import-form small{padding:11px 12px;border-radius:9px;background:#eef5fb;color:#526a84;font-size:12px}.supervisor-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.supervisor-manual-grid .span-2{grid-column:1/-1}.supervisor-table table{min-width:930px}.supervisor-table td small{display:block;margin-top:3px;color:#74869b}.supervisor-source{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef4fb;color:#315273;font-size:10px;font-weight:900;text-transform:uppercase}.delay-category-manager{margin-top:20px}

@media(max-width:1050px){.inventory-summary{grid-template-columns:1fr 1fr}.asset-master__layout,.delay-category-manager__layout,.supervisor-input-grid{grid-template-columns:1fr}.supervisor-now{align-items:flex-start;flex-direction:column}.supervisor-now__facts{width:100%}}
@media(max-width:680px){.inventory-summary{grid-template-columns:1fr}.inventory-questionnaire__head{flex-direction:column;padding:21px 18px}.inventory-progress{width:100%;flex-basis:auto}.inventory-pages{padding-inline:18px}.inventory-question__fields,.supervisor-manual-grid{grid-template-columns:1fr}.inventory-questionnaire__actions{align-items:stretch;flex-wrap:wrap;padding:15px 18px}.inventory-questionnaire__actions [data-inventory-counter]{width:100%;margin:0;text-align:center}.inventory-questionnaire__actions button{flex:1 1 130px}.supervisor-now{padding:20px}.supervisor-now__facts{grid-template-columns:1fr}.supervisor-toolbar{align-items:stretch;flex-direction:column}.supervisor-toolbar form{align-items:stretch;flex-direction:column;width:100%}.supervisor-toolbar label{width:100%}.module-head{align-items:flex-start;flex-direction:column}.asset-master,.delay-category-manager{padding:18px}}
@media(prefers-reduced-motion:reduce){.inventory-progress b{transition:none}}
