.schedule-tools{display:block}
.schedule-tools #public-schedule-filters{width:100%;align-items:flex-end}
.public-tools{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:0}
.print-heading{display:none}
.qr-button,.share-button,.print-button{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#174c7b,#216c9f)}
.qr-button:before{content:"";width:16px;height:16px;background:linear-gradient(90deg,currentColor 3px,transparent 3px 6px,currentColor 6px 10px,transparent 10px),linear-gradient(currentColor 3px,transparent 3px 6px,currentColor 6px 10px,transparent 10px);opacity:.9}
.share-button:before{content:"↗";font-size:18px;line-height:12px}
.print-button:before{content:"▣";font-size:15px}
.qr-overlay,.share-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:22px;background:#102f52b8;backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:.2s}
.qr-overlay.open,.share-overlay.open{opacity:1;visibility:visible}
.qr-dialog,.share-dialog{position:relative;width:min(430px,100%);padding:28px;text-align:center;border:1px solid #fff;background:linear-gradient(160deg,#fff,#f5f9fc);border-radius:20px;box-shadow:0 30px 80px #06192d70}
.qr-close{position:absolute;right:14px;top:12px;width:36px;height:36px;padding:0;border-radius:50%;background:#e9f0f6;color:#29435a;box-shadow:none;font-size:25px}
.qr-mark,.share-mark{display:grid;place-items:center;width:48px;height:48px;margin:auto;border-radius:14px;background:#102f52;color:#fff;font-size:14px;font-weight:850;letter-spacing:.08em;box-shadow:0 7px 16px #102f5233}
.share-mark{font-size:24px}
.qr-dialog h2,.share-dialog h2{margin:14px 0 4px}
.qr-intro,.share-dialog>p{margin:0 0 16px;color:#657689}
.qr-canvas{display:block;width:300px;height:300px;max-width:100%;margin:auto;border:1px solid #dce5ed;border-radius:12px;image-rendering:pixelated;box-shadow:0 8px 25px #143a5a12}
.qr-selection{display:grid;gap:4px;margin:15px 0 18px}
.qr-selection strong{font-size:14px}
.qr-selection span{font-size:12px;color:#657689}
.qr-actions{display:flex;justify-content:center;gap:9px}
.qr-secondary{background:#e7eef5;color:#29435a;box-shadow:none}
.share-dialog{width:min(520px,100%)}
.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;text-align:left}
.share-grid button{display:grid;gap:3px;padding:13px 14px;background:#fff;color:#23384b;border:1px solid #dce5ed;box-shadow:0 4px 12px #153a5810}
.share-grid button:hover{border-color:#5b96c0;background:#f6fbff}
.share-grid b{font-size:14px}
.share-grid span{color:#6b7c8c;font-size:11px}
.share-feedback{min-height:20px;margin-top:12px;color:#287657;font-size:13px}
@media(max-width:560px){.share-grid{grid-template-columns:1fr}
.public-tools{width:100%}
}
@media print{@page{size:landscape;margin:7mm}
html,body{height:auto!important;min-height:0!important}
header,.app-footer,.schedule-tools,.help-fab,.qr-overlay,.share-overlay{display:none!important}
body,body>main{display:block;background:#fff}
.wrap{max-width:none;margin:0;padding:0}
.card{border:0;box-shadow:none;padding:0}
.print-heading{display:block;margin:0 0 10px;padding:0 0 8px;border-bottom:2px solid #174c7b;text-align:left;break-after:avoid}
.print-heading .print-brand{color:#174c7b;font-size:11px;font-weight:850;letter-spacing:.12em}
.print-heading h1{margin:3px 0;font-size:18px;line-height:1.2;color:#1f2f3f}
.print-heading p{margin:0;color:#435466;font-size:11px}
.print-heading small{position:absolute;right:8mm;top:8mm;color:#667788;font-size:9px}
.scroll{overflow:visible}
.schedule{min-width:0!important}
.schedule th,.schedule td{padding:5px}
.schedule td{height:82px}
.schedule .subject-event{box-shadow:none;break-inside:avoid;font-size:10px}
.schedule .subject-event strong{font-size:10px}
.event-time,.event-detail{font-size:9px}
main,.card,.scroll,.schedule{break-after:avoid;page-break-after:avoid}
}
