.school-ops{--ops-line:#e3e7f0}.school-ops h1{display:flex;align-items:center;gap:12px}.ops-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ops-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.ops-stat{padding:18px 22px;border:1px solid #dfe5f4;border-radius:17px;background:#eef2ff;display:flex;align-items:center;justify-content:space-between;gap:10px}.ops-stat strong{font-size:29px;color:#3730a3}.ops-stat span{font-weight:600;color:#475569}.ops-stat.tone-1{background:#fff7e7;border-color:#f8e5ba}.ops-stat.tone-1 strong{color:#9a630b}.ops-stat.tone-2{background:#eaf8f3;border-color:#cae9dc}.ops-stat.tone-2 strong{color:#137c64}.ops-tabs{display:flex;gap:8px;margin-bottom:16px}.ops-tabs button{border:1px solid var(--ops-line);border-radius:11px;padding:11px 18px;background:#fff;font:inherit;font-weight:600;cursor:pointer}.ops-tabs button[aria-selected=true]{background:var(--primary,#635bdb);color:#fff}.ops-panel{padding:20px}.ops-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:22px}.ops-filters label:first-child{flex:1;min-width:180px}.school-ops label,.ops-form label,.ops-detail label{display:grid;gap:7px;font-size:13px;font-weight:600;color:#475569}.school-ops input,.school-ops select,.ops-form input,.ops-form select,.ops-form textarea,.ops-detail textarea,.ops-detail select,.ops-detail input{width:100%;min-height:40px;border:1px solid #bfc9dc;border-radius:9px;padding:9px 11px;background:#fff;color:#17213a;font:inherit;box-sizing:border-box}.ops-form input:focus,.ops-form textarea:focus,.ops-detail textarea:focus{outline:3px solid #d9defc;border-color:#7565d6}.ops-form fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.ops-form{display:grid;gap:16px}.ops-full,.ops-note{grid-column:1/-1}.ops-note{font-size:13px;color:#64748b;line-height:1.6}.ops-empty{padding:30px 15px;text-align:center;color:#64748b}.ops-table td{padding:13px 12px;max-width:270px;overflow-wrap:anywhere}.ops-table small,.ops-event-list small{display:block;color:#64748b;margin-top:5px}.ops-status{display:inline-flex;white-space:nowrap;border-radius:20px;background:#edf0f8;padding:5px 10px;font-size:12px;font-weight:650;color:#475569}.ops-status.status-pending,.ops-status.status-open{background:#fff1d5;color:#956009}.ops-status.status-approved,.ops-status.status-returned,.ops-status.status-resolved,.ops-status.status-scheduled{background:#ddf6eb;color:#106a51}.ops-status.status-exited,.ops-status.status-rejected{background:#ffe5e7;color:#a6243c}.ops-status.status-inside,.ops-status.status-in-progress{background:#e6e9ff;color:#4f46a5}.ops-success{padding:11px 16px;background:#e8f8ed;color:#166534;border-radius:10px;margin-bottom:12px}.ops-detail-top{display:flex;justify-content:space-between;align-items:center}.ops-details{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.ops-details dt{color:#64748b;font-size:12px;margin-bottom:5px}.ops-details dd{margin:0;color:#1e293b;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.ops-action-box{background:#f6f7fc;border:1px solid #e3e7f0;border-radius:12px;padding:16px;margin:16px 0;display:grid;gap:12px}.ops-detail h3{margin:22px 0 12px}.ops-conversation{display:grid;gap:12px;margin-bottom:20px}.ops-conversation article{background:#f4f6fb;border:1px solid #e3e7f0;border-radius:12px;padding:14px}.ops-conversation p{white-space:pre-wrap;overflow-wrap:anywhere}.ops-conversation small,.ops-history small{font-size:12px;color:#64748b}.ops-history{margin-top:22px;border-top:1px solid #e3e7f0;padding-top:16px}.ops-history summary{cursor:pointer;font-weight:600}.ops-history p{font-size:13px}.ops-history small{display:block;margin-top:4px}.ops-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.ops-calendar-head h2{font-size:21px}.ops-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e5e9f2;border:1px solid #e5e9f2;border-radius:12px;overflow:hidden;min-width:580px}.ops-calendar-scroll{overflow:auto}.ops-weekday{background:#f6f7fc;padding:12px;font-size:12px;text-align:center;color:#64748b}.ops-day{background:#fff;min-height:104px;padding:8px;display:flex;flex-direction:column;gap:5px;min-width:0}.ops-day>span{font-size:12px;font-weight:650;align-self:start;padding:4px 6px}.ops-day.today>span{background:#635bdb;color:#fff;border-radius:50%}.ops-day.outside{background:#f8fafc}.ops-event{font:inherit;font-size:11px;text-align:left;padding:5px;border:0;border-left:3px solid #8070d8;border-radius:4px;background:#eeebfc;color:#594396;cursor:pointer;overflow-wrap:anywhere}.event-holiday{background:#fff1d5;color:#98630d}.event-exam{background:#ffe7ed;color:#a32950}.event-ptm{background:#e2efff;color:#235a9f}.event-activity{background:#dff5ec;color:#176d52}.ops-event.cancelled{text-decoration:line-through;opacity:.6}.ops-event-list{margin-top:24px}.ops-event-list>button{display:flex;gap:14px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid #e3e7f0;background:#fff;padding:16px 0;font:inherit;cursor:pointer}.ops-event-list>button>span:nth-child(2){flex:1}.ops-event-date{padding:10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}.ops-pass-print{display:none}@media(max-width:650px){.ops-stats{gap:8px}.ops-stat{padding:12px;align-items:start;flex-direction:column}.ops-stat strong{font-size:24px}.ops-stat span{font-size:11px}.ops-form fieldset,.ops-details{grid-template-columns:1fr}.ops-calendar-head{flex-wrap:wrap}.ops-panel{padding:14px}.ops-filters{gap:10px}.ops-calendar{min-width:560px}.ops-event-list>button{gap:9px}}@media print{body.printing-gate-pass *{visibility:hidden!important}body.printing-gate-pass .ops-pass-print,body.printing-gate-pass .ops-pass-print *{visibility:visible!important}body.printing-gate-pass .ops-pass-print{display:block!important;position:fixed;inset:0;background:#fff;padding:35px;z-index:99999;color:#000}body.printing-gate-pass .ops-pass-print h2{font-size:26px}}.visitor-photo-preview{width:112px;height:140px;object-fit:cover;border-radius:10px;border:1px solid #d5dbea;margin:12px 0}.visitor-ward-heading{border-top:1px solid #e3e7f0;padding-top:18px;display:grid;gap:6px}.visitor-ward-heading small{color:#64748b}.ops-stats:has(>:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.visitor-qr-panel{background:#fff;padding:24px;border:1px solid #dce2ef;border-radius:18px;margin:18px 0}.visitor-qr-panel h3{display:flex;gap:10px;align-items:center}.visitor-qr-panel>p{color:#64748b}.visitor-qr-preview{display:flex;gap:24px;align-items:center;margin:20px 0}.visitor-qr-preview>img{width:220px;height:220px;flex-shrink:0}.visitor-qr-preview>div{flex:1;min-width:0}.visitor-qr-manage{border-top:1px solid #e3e7f0;padding-top:18px;margin-top:20px}.visitor-qr-print{display:none}.visitor-public{min-height:100vh;background:radial-gradient(at 10% 10%,#e9e5ff,transparent 55%),#f2f6fc;padding:35px 16px;color:#17213a}.visitor-public-card{max-width:760px;margin:auto;padding:32px;background:#fff;border:1px solid #e1e5f1;border-radius:24px;box-shadow:0 18px 65px #2536540e}.visitor-public-card header{text-align:center;padding-bottom:28px}.visitor-public-icon{display:flex;justify-content:center;align-items:center;background:#edeaff;border-radius:20px;color:#6854c9;width:64px;height:64px;margin:0 auto 18px}.visitor-public h1{font-size:28px;margin:8px 0}.visitor-public header p{color:#64748b}.visitor-public .visitor-submit{justify-content:center;min-height:48px}.visitor-public footer{border-top:1px solid #e3e7f0;margin-top:28px;padding-top:20px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#64748b;font-size:12px}.visitor-public footer span{margin-left:auto}.visitor-consent{display:flex!important;align-items:start;gap:10px!important;font-size:12px!important;line-height:1.7}.visitor-consent input{width:18px;min-height:18px;margin-top:4px;flex-shrink:0}.visitor-honeypot{display:none!important}.visitor-submitted{text-align:center;padding:32px 12px;color:#166955}.visitor-submitted>strong{display:block;font-size:32px;letter-spacing:4px;padding:16px;background:#e8f8f0;border-radius:12px}.visitor-submitted p{color:#475569;line-height:1.7}.visitor-public-card input[type=file]{font-size:12px}.ops-status.status-waiting{background:#fff1d5;color:#956009}@media(max-width:650px){.visitor-public{padding:16px 10px}.visitor-public-card{padding:22px 16px;border-radius:18px}.visitor-public h1{font-size:23px}.visitor-qr-preview{flex-direction:column}.visitor-qr-preview>div{width:100%}.ops-stats:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{body.printing-visitor-qr *{visibility:hidden!important}body.printing-visitor-qr .visitor-qr-print,body.printing-visitor-qr .visitor-qr-print *{visibility:visible!important}body.printing-visitor-qr .visitor-qr-print{display:block!important;position:fixed;inset:0;background:#fff;color:#000;text-align:center;padding:30px;z-index:99999}body.printing-visitor-qr .visitor-qr-print img{width:340px;height:340px;display:block;margin:30px auto}body.printing-visitor-qr .visitor-qr-print h1{display:block;font-size:30px}body.printing-visitor-qr .visitor-qr-print p{font-size:17px}}.student-scan-card{background:#fff;border:1px solid #dce4ef;border-radius:16px;padding:22px;margin:16px 0}.student-scan-card>h2{display:flex;gap:9px;align-items:center;font-size:17px}.student-scan-card>p{color:#64748b;font-size:13px;line-height:1.6}.student-scan-value{display:flex;gap:10px;align-items:end;margin:18px 0}.student-scan-value label{flex:1;display:grid;gap:7px;font-size:12px;color:#475569}.student-scan-value input{font:13px monospace;padding:11px;border:1px solid #c6cfe0;border-radius:9px;min-width:0;width:100%;color:#16213b;background:#f8fafc}.student-code-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px}.student-code-grid>div{border:1px solid #e3e8f1;padding:16px;border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:12px;min-width:0}.student-code-grid h3{font-size:13px;color:#475569;margin:0}.student-code-qr{width:160px;height:160px}.student-code-barcode{width:560px;max-width:none;height:auto;display:block}.student-barcode-scroll{overflow:auto;max-width:100%;margin:auto 0;padding:15px 0}.student-code-value-table{font-size:11px;overflow-wrap:anywhere;display:block;max-width:170px;font-family:monospace}.student-scan-lookup{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:15px 18px;margin:14px 0;border:1px solid #dce4ef;border-radius:12px;background:#f5f7fc}.student-scan-lookup label{display:grid;gap:6px;flex:1;font-size:12px;min-width:180px}.student-scan-lookup input{border:1px solid #c6cfe0;border-radius:8px;padding:10px;font-family:monospace}.student-scan-lookup p{width:100%;color:#a6243c;margin:0}@media(max-width:800px){.student-code-grid{grid-template-columns:1fr}.student-scan-value{flex-wrap:wrap}.student-scan-value label{min-width:210px}}@media print{.student-scan-card{break-inside:avoid}.student-scan-card button{display:none}.student-code-grid{grid-template-columns:170px minmax(0,1fr)}.student-barcode-scroll{overflow:visible}.student-code-barcode{max-width:100%;width:560px}}
