#qualityView,.monthly-bulletin{color:#173653}#qualityView .card,.monthly-bulletin.card{padding:22px;margin-bottom:18px;border:1px solid #dbe5ee;border-radius:14px;background:#fff}.q-title,.q-toolbar,.q-filters{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.q-title{justify-content:space-between}.q-title h2{margin:4px 0 18px}.q-filters label,.q-fields label,#qCommentForm label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.q-filters{align-items:flex-end}.q-filters input,.q-filters select,.q-fields input,.q-fields select,#qCommentForm textarea{padding:10px;border:1px solid #c7d8e7;border-radius:7px;min-width:0;background:#fff;color:#173653}.q-filters label{flex:1;min-width:140px}.q-entry{margin-top:18px}.q-entry summary, #qualityView details summary{cursor:pointer;font-weight:600;padding:8px 0}.q-toolbar{margin-top:14px}.q-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.q-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.q-kpis article{background:#edf5fa;border:1px solid #d5e3ef;border-top:3px solid #147e9b;padding:17px;border-radius:10px;display:flex;flex-direction:column;gap:7px}.q-kpis strong{font-size:27px}.q-kpis small{color:#60778b}.q-columns{display:grid;grid-template-columns:1fr 1.6fr;gap:18px}.q-distribution{display:flex;align-items:center;gap:25px;padding:16px 0;flex-wrap:wrap}.q-donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center}.q-donut span{border-radius:50%;width:106px;height:106px;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:25px;font-weight:700}.q-donut small{font-size:12px;font-weight:400}.q-distribution ul{list-style:none;padding:0;min-width:120px}.q-distribution li{display:flex;gap:8px;margin:10px 0}.q-distribution i{width:12px;height:12px;border-radius:3px}.q-distribution b{margin-left:auto}.q-evolution{width:100%;min-height:160px}.q-evolution text{font-size:12px;fill:#667b8c}.q-table{overflow:auto;margin-top:12px}.q-table table{width:100%;border-collapse:collapse}.q-table td,.q-table th{padding:10px;text-align:left;white-space:normal!important}.q-table td{font-variant-numeric:tabular-nums}.q-rate{font-weight:700;padding:5px 8px;border-radius:5px;white-space:nowrap}.q-rate.good{background:#e1f2e9;color:#167b50}.q-rate.bad{background:#fce9eb;color:#a12838}.q-bar{display:flex;gap:14px;align-items:center;margin:10px 0}.q-bar span{flex:1}.q-bar meter{width:32%}.q-note{font-size:13px;color:#60778b}.q-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.q-tabs .active{background:#0a5378;color:#fff}.monthly-bulletin h3{margin-top:20px}.q-empty{padding:20px;text-align:center;color:#60778b}@media(max-width:850px){.q-columns{grid-template-columns:1fr}.q-kpis{grid-template-columns:repeat(2,1fr)}.q-bar{flex-wrap:wrap}}@media print{#qualityView .q-entry,#qualityView .q-toolbar,#qualityView button{display:none}.q-table{overflow:visible}.q-columns,.q-kpis{break-inside:avoid}}

.q-sla-meter{display:block;width:110px;height:10px;margin-top:7px}#qualityView pre{max-width:600px;overflow-wrap:anywhere}

.q-native input[type=number]{width:90px;padding:8px;border:1px solid #c7d8e7;border-radius:6px}.q-native input[type=date]{min-width:135px;padding:8px}.q-native summary{cursor:pointer;margin:15px 0}.q-native td{vertical-align:middle}.q-native #nativeSummary{font-weight:600;color:#0a5378}

.q-batch-file{border:1px solid #c9dbe8;border-radius:10px;padding:16px;margin:14px 0}.q-batch-file summary{cursor:pointer;font-weight:600;color:#075b85}.q-batch-select{display:flex;gap:10px;align-items:center}.q-batch-error{color:#9f2737;background:#fff0f1;padding:12px;border-radius:6px}.q-batch-excluded{opacity:.55}.q-batch-editor>.card{margin-top:16px!important}.q-batch-file [hidden]{display:none!important}

/* Client presentation: readable pies, explicit samples and contractual groups. */
.q-report-cover{padding:24px 28px;background:#123d63;color:white;border-radius:12px;margin:18px 0}.q-report-cover h2{color:white;margin:8px 0}.q-report-cover p{margin:0;color:#e4edf5}.q-report-heading{display:flex;justify-content:space-between;align-items:center;margin:24px 0 14px}.q-report-heading h3{margin:5px 0}.q-report-heading>span{border:1px solid #c7d7e4;border-radius:20px;padding:7px 14px;white-space:nowrap}.q-pie-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.q-pie-card{padding:20px;background:white;border:1px solid #dce5ed;border-radius:12px;break-inside:avoid}.q-pie-card h4{margin:0 0 12px;font-size:16px;color:#173d5d}.q-pie-summary{background:#eff6fc;border-top:4px solid #164876}.q-pie-layout{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.q-pie{width:140px;height:140px;flex:none}.q-pie-values{flex:1;min-width:130px}.q-pie-values>strong{display:block;font-size:28px;line-height:1.2;color:#173d5d}.q-pie-values>span,.q-pie-values small{font-size:13px;color:#536577}.q-pie-values p{font-size:14px;line-height:1.9}.q-positive,.q-negative{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;background:#12845d}.q-negative{background:#c94750}.q-chart-scroll{overflow-x:auto}.q-chart-scroll svg{width:100%;display:block}.q-chart-scroll text{font:13px system-ui;fill:#253d51}.q-report-section{margin-bottom:24px}
@media print{body.q-print-report *{visibility:hidden}body.q-print-report #qualityView,body.q-print-report #qualityView *{visibility:visible}body.q-print-report #qualityView{position:absolute;left:0;top:0;width:100%;background:white}body.q-print-report #qualityView>.card:first-child,body.q-print-report #qualityView details,body.q-print-report #qualityView button,body.q-print-report #qPending,body.q-print-report #qForm{display:none!important}body.q-print-report .q-pie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.q-print-report .card,body.q-print-report .q-report-section{break-inside:auto}body.q-print-report .q-chart-scroll svg{min-width:0!important}body.q-print-report .q-chart-scroll{overflow:visible}body.q-print-report textarea{border:0;resize:none;width:100%}body.q-print-report *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.meal-chart .chart-columns{border-bottom:1.5px solid #536274;position:relative;padding-bottom:8px}.meal-chart .chart-columns:after{content:'';position:absolute;right:0;bottom:-10px;height:10px;border-right:1px solid #536274}.meal-chart .chart-group>span{display:block;padding-top:12px}

.q-daily-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:8px 0 0;border-radius:8px}.q-daily-scroll:focus-visible{outline:2px solid #285eae;outline-offset:3px}.q-daily-chart{width:100%;display:block}.q-daily-chart text{fill:#172c3f;font-family:system-ui,sans-serif}.q-day-value{font-size:14px;font-weight:700}.q-day-date{font-size:14px;font-weight:600}.q-day-axis{font-size:13px}.q-day-missing{font-size:18px}.q-daily-legend{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:14px;padding:8px 0}.q-target{display:inline-block;width:22px;border-top:2px dashed #285eae;vertical-align:middle;margin-right:6px}.q-disclosure>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:18px;font-weight:700;color:#173d5d;padding:5px 0}.q-disclosure>summary::-webkit-details-marker{display:none}.q-disclosure>summary:after{content:'+';font-size:24px;font-weight:400;flex:none}.q-disclosure[open]>summary:after{content:'−'}.q-disclosure[open]>summary{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #dce5ed}.q-disclosure>summary:focus-visible{outline:2px solid #285eae;outline-offset:5px}.q-report-section.q-disclosure{background:#f7fafc;padding:20px;border:1px solid #dce5ed;border-radius:12px}
@media print{body.q-print-report #qualityView details.q-disclosure{display:block!important}body.q-print-report .q-disclosure>summary:after{display:none}body.q-print-report .q-daily-scroll{overflow:visible}body.q-print-report .q-daily-chart{min-width:0!important}}

/* Meal boundaries cross the horizontal axis, matching the reference. */
.meal-chart .chart-columns,.site-bars,.overview-bars{position:relative;border-bottom:1.5px solid rgb(53 73 90 / 65%);width:100%;justify-content:center;overflow:visible}
.meal-chart .chart-columns:after,.site-bars:after,.overview-bars:after{content:'';position:absolute;right:0;bottom:-8px;height:16px;border-right:1.5px solid rgb(53 73 90 / 65%);pointer-events:none}
.meal-chart .chart-group:first-child .chart-columns:before,.site-chart-group:first-child .site-bars:before,.overview-group:first-child .overview-bars:before{content:'';position:absolute;left:0;bottom:-8px;height:16px;border-left:1.5px solid rgb(53 73 90 / 65%);pointer-events:none}
/* Daily lodging cards: separators belong to the line below meal names. */
body .daily-location-meals{--meal-divider-half-gap:7px;--meal-divider-offset:5px}
body .daily-location-name{border-top-color:rgb(101 136 167 / 60%)}
body .daily-location-meals .daily-meal-group{position:relative}
body .daily-location-meals .daily-meal-group:not(:last-child):after{content:'';position:absolute;right:calc(-1 * var(--meal-divider-half-gap) - 1px);bottom:calc(-1 * var(--meal-divider-offset) - 9px);width:2px;height:18px;background:rgb(101 136 167 / 60%);pointer-events:none}
@media print{body.printing-daily-report .daily-location-meals{--meal-divider-half-gap:1.5mm;--meal-divider-offset:calc(1mm + 1px)}body.printing-daily-report .daily-location-name{border-top-color:rgb(101 136 167 / 60%)!important}}
