*{margin:0;padding:0;box-sizing:border-box}html{overflow-y:scroll}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:#f5f5f5;color:#1a1a2e;min-height:100vh}.hidden{display:none!important}.gastro-header{background:linear-gradient(135deg,#1a1050,#0f1538);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.gastro-header h1{font-size:20px;font-weight:700;background:linear-gradient(135deg,#4fc3f7,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gastro-header .version-tag{font-size:10px;color:#bbb;font-weight:400;margin-left:6px;vertical-align:super}.gastro-header-actions{display:flex;gap:8px;align-items:center}.gastro-import-btn{padding:6px 14px;border:1px solid rgba(168,85,247,.4);border-radius:8px;background:#a855f726;color:#c084fc;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.gastro-import-btn:hover{background:#a855f74d}.gastro-add-btn{padding:6px 14px;border:1px solid rgba(59,130,246,.4);border-radius:8px;background:#3b82f626;color:#60a5fa;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.gastro-add-btn:hover{background:#3b82f64d}.gastro-reset-btn{padding:6px 14px;border:1px solid rgba(239,68,68,.4);border-radius:8px;background:#ef444426;color:#ef4444d9;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.gastro-reset-btn:active{background:#ef44444d;transform:scale(.97)}.gastro-import-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.gastro-import-dialog{background:#1a1a2e;border:1px solid rgba(168,85,247,.3);border-radius:12px;padding:24px 32px;text-align:center;min-width:280px;color:#e0e0e0}.gastro-import-dialog h3{margin-bottom:12px;color:#c084fc}.gastro-import-status{font-size:14px;margin-bottom:16px}.gastro-import-status.success{color:#4ade80}.gastro-import-status.error{color:#f87171}.gastro-import-close-btn{padding:8px 20px;border:1px solid rgba(168,85,247,.4);border-radius:8px;background:#a855f726;color:#c084fc;font-size:13px;cursor:pointer}.gastro-import-close-btn:hover{background:#a855f74d}.gastro-date-tabs{display:flex;gap:6px;padding:12px 16px;overflow-x:auto;background:#fff;border-bottom:2px solid #e0e0e0}.gastro-date-tabs .date-tab{padding:10px 20px;border:1px solid #ddd;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;background:#f0f0f0;color:#666;white-space:nowrap;transition:all .2s}.gastro-date-tabs .date-tab:hover{border-color:#1a1050;color:#333}.gastro-date-tabs .date-tab.active{background:#1a1050;color:#fff;border-color:#1a1050}.gastro-date-tabs .date-tab.today{border-color:#1a1050;background:#e8eaf6;font-weight:800}.gastro-date-tabs .date-tab.today.active{background:#1a1050;color:#fff;box-shadow:0 2px 8px #1a10504d}.gastro-date-tabs .date-tab .count{display:inline-block;background:#0003;border-radius:10px;padding:1px 7px;font-size:11px;margin-left:6px}.gastro-date-tabs .date-tab.active .count{background:#0000004d}.gastro-date-tabs .date-tab.active.slot-morning{background:#1e3a5f;border-color:#1e3a5f;color:#fff}.gastro-date-tabs .date-tab.active.slot-afternoon{background:#7c2d54;border-color:#7c2d54;color:#fff}.tablet-day-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.gastro-date-tabs .date-tab.today .tablet-day-label{color:#1a1050}.gastro-date-tabs .date-tab.today.active .tablet-day-label{color:#ffffffb3}.gastro-content{padding:16px}.time-slot-section{margin-bottom:24px}.time-slot-header{font-size:28px;font-weight:800;color:#1a1050;padding:12px 16px;background:#e8eaf6;border-radius:12px 12px 0 0;border-left:6px solid #1a1050}.food-summary{display:flex;gap:16px;padding:12px 16px;background:#fff;border-left:6px solid #1a1050;flex-wrap:wrap}.food-summary-item{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;padding:8px 16px;border-radius:8px}.food-summary-item.pizza-sum{background:#f973161f;color:#c2410c}.food-summary-item.nuggets-sum{background:#eab3081f;color:#a16207}.food-summary-item.goodies-sum{background:#a855f71f;color:#7c3aed}.food-summary-item.total-sum{background:#3b82f61f;color:#1d4ed8}.food-summary-dot{width:14px;height:14px;border-radius:50%}.gastro-table{width:100%;border-collapse:collapse;background:#fff;border-radius:0 0 12px 12px;overflow:hidden}.gastro-table td{padding:8px 4px;vertical-align:middle}.gt-row{border-bottom:1px solid #eee;cursor:pointer;transition:background .1s}.gt-row:active{background:#f5f5f5}.gt-row td:first-child{padding-left:12px}.gt-name{font-size:17px;font-weight:800;color:#1a1050;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.gt-raum{font-size:13px;font-weight:700;color:#555;white-space:nowrap}.gt-paket .gc-paket{font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;display:inline-block}.gc-paket-space{background:#dbeafe;color:#1d4ed8}.gc-paket-magic{background:#f3e8ff;color:#7c3aed}.gt-essen .gc-essen{font-size:12px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;display:inline-block}.gc-essen-pizza{background:#fff7ed;color:#c2410c}.gc-essen-nuggets{background:#fefce8;color:#a16207}.gt-note-text{font-size:11px;color:#666;font-style:italic;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;margin-top:3px}.gt-status{white-space:nowrap;padding-left:4px}.gt-status-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:14px;vertical-align:middle;margin-left:2px}.gt-status-icon.checked-in{background:#e8f5e9;color:#2e7d32}.gt-status-icon.food-served{background:#fff3e0;color:#e65100}.gt-guests{text-align:center;font-size:22px;font-weight:800;color:#1a1050;white-space:nowrap;padding-right:4px}.gt-guests small{font-size:9px;color:#999;font-weight:600;text-transform:uppercase;display:block;line-height:1}.gt-actions{white-space:nowrap;padding-right:8px}.gt-hinweis-row td{font-size:12px;color:#dc2626;font-weight:600;padding:0 0 6px 24px!important;border-bottom:1px solid #eee}.gt-event-tag{font-size:11px;font-weight:600;color:#dc2626;margin-left:8px;vertical-align:middle}.gc-raum-icon{font-size:16px;margin-right:2px;vertical-align:middle}.gt-zeit{white-space:nowrap;text-align:center}.gt-zeit-badge{display:inline-block;font-size:11px;font-weight:700;background:#e0e7ff;color:#4338ca;padding:2px 8px;border-radius:4px}.gt-row[draggable=true]{-webkit-user-select:none;user-select:none}.gt-row.dragging{opacity:.4;background:#e3f2fd}.gt-row.drag-over{border-top:3px solid #1a1050}.gt-drag-handle{cursor:grab;color:#ccc;font-size:18px;padding:0 6px;touch-action:none}.gt-drag-handle:active{cursor:grabbing}.essenszeit-btn{display:flex;align-items:center;gap:4px;background:#e8e8e8;border:2px solid transparent;border-radius:8px;padding:6px 10px;cursor:pointer;font-size:14px;font-weight:700;color:#666;white-space:nowrap;transition:all .15s}.essenszeit-btn:active{transform:scale(.95)}.essenszeit-btn.has-time{background:#f3f4f6;border-color:#9ca3af;color:#4b5563}.essenszeit-btn .ez-time{font-size:16px;font-weight:800}.essenszeit-btn.is-default{background:#f3f4f6;border:2px solid #d1d5db;color:#9ca3af}.essenszeit-btn.is-default .ez-time{font-weight:600}.tp-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2000}.tp-popup{background:#fff;border-radius:16px;padding:20px;width:420px;max-width:94vw;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.tp-title{font-size:18px;font-weight:800;color:#1a1050;margin-bottom:12px;text-align:center}.tp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:14px}.tp-btn{padding:10px 4px;border:2px solid #e0e0e0;border-radius:8px;background:#fafafa;font-size:15px;font-weight:700;color:#333;cursor:pointer;transition:all .15s}.tp-btn:active{transform:scale(.95)}.tp-btn.selected{background:#e8f5e9;border-color:#66bb6a;color:#2e7d32}.tp-clear-btn{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;background:#f5f5f5;font-size:15px;font-weight:600;color:#999;cursor:pointer}.tp-clear-btn:active{background:#eee}.bp-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.bp-popup{background:#fff;border-radius:16px;padding:24px 32px;width:700px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;display:flex;flex-wrap:wrap;gap:0 24px}.bp-header,.bp-sub{width:100%}.bp-section{flex:1 1 calc(50% - 12px);min-width:200px}.bp-close-btn,.bp-delete-btn{flex:1 1 100%}.bp-header{font-size:20px;font-weight:800;color:#1a1050;margin-bottom:4px}.bp-sub{font-size:13px;color:#888;margin-bottom:18px}.bp-section{margin-bottom:14px}.bp-section label{display:block;font-size:12px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.bp-toggle{display:flex;align-items:center;gap:12px;padding:12px 14px;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;font-size:15px;font-weight:600;color:#666}.bp-toggle:active{transform:scale(.98)}.bp-toggle.active{border-color:#4caf50;background:#e8f5e9;color:#2e7d32}.bp-toggle.active-food{border-color:#ff9800;background:#fff3e0;color:#e65100}.bp-toggle-check{width:24px;height:24px;border-radius:50%;border:2px solid #ccc;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:all .15s}.bp-toggle.active .bp-toggle-check,.bp-toggle.active-food .bp-toggle-check{border-color:transparent;background:currentColor;color:#fff}.bp-close-btn{width:100%;padding:12px;border:none;border-radius:10px;background:#f5f5f5;color:#666;font-size:15px;font-weight:700;cursor:pointer;margin-top:6px}.bp-close-btn:active{transform:scale(.97)}.bp-row{display:flex;gap:12px;flex:1 1 100%}.bp-half{flex:1}.bp-stepper{display:inline-flex;align-items:center;border:2px solid #e0e0e0;border-radius:10px;overflow:hidden}.bp-stepper-btn{width:44px;height:44px;border:none;background:#f5f5f5;font-size:20px;font-weight:700;color:#333;cursor:pointer;transition:background .15s}.bp-stepper-btn:active{background:#e0e0e0}.bp-stepper-input{width:50px;text-align:center;border:none;font-size:18px;font-weight:800;color:#1a1050;font-family:inherit;-moz-appearance:textfield}.bp-stepper-input::-webkit-inner-spin-button,.bp-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bp-select{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;font-weight:600;font-family:inherit;color:#1a1050;background:#fff;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.bp-select:focus{outline:none;border-color:#66bb6a}.bp-zeit-toggle{display:flex;gap:8px}.bp-zeit-btn{flex:1;padding:12px 8px;border:2px solid #e0e0e0;border-radius:10px;background:#fff;font-size:16px;font-weight:700;color:#888;cursor:pointer;transition:all .15s}.bp-zeit-btn:active{transform:scale(.97)}.bp-zeit-btn.active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.bp-essen-toggle{display:flex;gap:8px}.bp-essen-btn{flex:1;padding:10px 8px;border:2px solid #e0e0e0;border-radius:10px;background:#fff;font-size:14px;font-weight:600;color:#888;cursor:pointer;transition:all .15s}.bp-essen-btn:active{transform:scale(.97)}.bp-essen-btn.active{border-color:#f97316;background:#fff7ed;color:#c2410c}.bp-tisch-toggle{display:flex;gap:6px;flex-wrap:wrap}.bp-tisch-btn{min-width:54px;padding:8px 4px;border:2px solid #e0e0e0;border-radius:10px;background:#fff;font-size:13px;font-weight:700;color:#888;cursor:pointer;transition:all .15s;text-align:center}.bp-tisch-btn:active{transform:scale(.97)}.bp-tisch-btn.active{border-color:#8b5cf6;background:#f5f3ff;color:#6d28d9}.gt-tischnr{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:6px;background:#f5f3ff;color:#6d28d9;font-size:12px;font-weight:700;border:1px solid #ddd6fe}.np-input{width:100%;border:2px solid #e0e0e0;border-radius:10px;padding:10px 12px;font-size:16px;font-family:inherit;color:#333;resize:none;box-sizing:border-box}.np-input:focus{outline:none;border-color:#66bb6a}.bp-delete-btn{display:block;width:100%;padding:10px;margin-top:8px;background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.bp-delete-btn:hover{background:#ef4444;color:#fff}.gastro-no-bookings{text-align:center;padding:60px 20px;color:#999;font-size:16px}@media print{.gastro-header,.gastro-date-tabs{display:none!important}}
