*{box-sizing:border-box}:root{--red:#c51624;--ink:#172033;--muted:#667085;--bg:#f4f6f9;--line:#e3e7ee;--green:#087a55;--soft:#fff}body{margin:0;font:15px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}header{background:#fff;border-bottom:1px solid var(--line);padding:18px max(18px,5%)}.brand{font-weight:850;font-size:20px}.brand span{color:var(--red)}main{max-width:1100px;margin:auto;padding:28px 18px}.card,.hero{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:16px}.hero h1,.card h2{margin-top:0}.muted{color:var(--muted)}.btn,button{display:inline-block;border:0;background:var(--red);color:#fff;padding:10px 14px;border-radius:9px;text-decoration:none;font-weight:750;cursor:pointer;font:inherit}.secondary{background:#667085}.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.danger{background:#fff;color:#8f1d18;border:1px solid #f1c8c5}.btn.active{background:var(--red);color:#fff;border-color:var(--red)}input,select,textarea{width:100%;padding:11px;border:1px solid #cbd2dd;border-radius:9px;font:inherit;margin:5px 0 12px;background:#fff;color:var(--ink)}textarea{min-height:90px}label{font-weight:700;font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#e9f7f0;color:var(--green);font-size:12px}.pill.warn{background:#fff3df;color:#8a5700}table{width:100%;border-collapse:collapse}th,td{padding:9px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}.nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.notice{padding:14px;border-radius:10px;background:#eaf8f1}.error{background:#feeceb;color:#8f1d18}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat{background:#fff;border:1px solid var(--line);padding:16px;border-radius:12px}.stat strong{display:block;font-size:25px}.event-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e7e7e7}.event-row:last-child{border-bottom:0}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-actions form,td form{margin:0}.icon-delete{background:transparent;color:#8f1d18;border:1px solid #f1c8c5;padding:7px 9px;font-size:16px;line-height:1}.helper-list{margin-top:14px;padding-top:12px;border-top:1px solid #e7e7e7}.helper-list-title{font-size:.88rem;font-weight:700;margin-bottom:7px}.helper-row{display:flex;gap:10px;align-items:baseline;margin:4px 0;font-size:.92rem}.helper-row span{color:#666}.shift{display:flex;justify-content:space-between;align-items:center;gap:12px}.shift-main{min-width:0}.shift-action{text-align:right}.admin-cards{display:none}.mobile-card{border:1px solid var(--line);border-radius:13px;padding:14px;margin:10px 0;background:#fff}.mobile-card .title{font-weight:800;font-size:16px}.mobile-meta{color:var(--muted);margin:4px 0 10px}.contact-links a{display:block;color:var(--ink);margin:4px 0}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.system-box{border:1px solid var(--line);border-radius:12px;padding:14px}.system-ok{color:var(--green);font-weight:800}.system-warn{color:#8a5700;font-weight:800}.codebox{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f6f7f9;border:1px solid var(--line);padding:10px;border-radius:9px;word-break:break-all;font-size:12px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.section-head h2{margin:0}.empty{color:var(--muted);padding:10px 0}
@media(max-width:700px){header{padding:16px 18px}.brand{font-size:19px}main{padding:18px 14px}.card,.hero{padding:18px;border-radius:16px}.grid,.stats,.system-grid{grid-template-columns:1fr}.nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nav .btn{text-align:center;padding:11px 8px}.shift{align-items:flex-start;flex-direction:column}.shift-action{text-align:left;margin-top:12px}.helper-row{display:block}.helper-row span{display:block;font-size:.86rem}.event-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%}.desktop-table{display:none}.admin-cards{display:block}.section-head{align-items:flex-start;flex-direction:column}.stats{gap:10px}.stat strong{font-size:30px}.card h2{font-size:24px}.toolbar .btn,.toolbar button{flex:1 1 auto;text-align:center}.mobile-card form{margin-top:10px}.mobile-card .row-actions{margin-top:10px}}
@media(min-width:701px){.scroll{overflow:auto}}
@media print{body{background:#fff}header,.nav,.no-print{display:none!important}main{max-width:none;padding:0}.card{border:0;padding:0}.print-only{display:block}}
.branding{display:flex;align-items:center;gap:10px}.brand-logo{width:42px;height:42px;object-fit:contain}.copyright{font-size:11px;color:#7a8290;text-align:center;padding:20px 8px}.open-need{font-weight:800;color:#9b2c2c}.archive-tag{font-size:12px;background:#eef1f5;border-radius:999px;padding:4px 8px}.checklist{width:18px;height:18px;border:1px solid #999;display:inline-block}.shift-mobile{display:none}.action-stack{display:flex;gap:7px;flex-wrap:wrap}.logo-print{width:68px;height:68px;object-fit:contain}.poster-wrap{height:270mm;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.poster-main{padding-top:12mm}.poster-qr{width:82mm;height:82mm}.print-footer{font-size:9pt;color:#666;text-align:center;margin-top:8mm}.waitbox{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.checkbox-list label{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px;margin:7px 0}.checkbox-list input{width:auto;margin:3px 0}.message-box textarea{min-height:150px}
@media(max-width:700px){.shift-desktop{display:none}.shift-mobile{display:block}.shift-mobile .mobile-card{padding:16px}.shift-mobile .action-stack{margin-top:12px}.shift-mobile .btn,.shift-mobile button{padding:9px 10px;font-size:14px}.brand-logo{width:34px;height:34px}.brand{font-size:18px}.poster-wrap{height:auto}}
@media print{@page{size:A4;margin:10mm}.copyright{display:none}.poster-wrap{height:277mm;page-break-after:avoid;break-after:avoid}.print-footer{position:fixed;bottom:3mm;left:0;right:0}.no-break{break-inside:avoid}.print-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ddd;padding-bottom:8px;margin-bottom:12px}.print-header .logo-print{width:52px;height:52px}html,body{height:auto!important;overflow:visible!important}}
