:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-success: #16a34a;--color-error: #dc2626;--color-bg: #f1f5f9;--color-surface: #ffffff;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: #e2e8f0;--font-size-base: 18px;--touch-target: 64px;--radius: 12px;--radius-sm: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-size-base);background:var(--color-bg);color:var(--color-text);-webkit-text-size-adjust:100%}#root{height:100%}.app{display:flex;flex-direction:column;height:100%;max-width:900px;margin:0 auto}.app-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-main{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.app-footer{padding:16px 20px;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;align-items:center;gap:16px}.date-display{display:flex;align-items:baseline;gap:8px}.date-day{font-size:2rem;font-weight:700;line-height:1}.date-month-year{font-size:1rem;color:var(--color-text-muted)}.printer-status{display:flex;align-items:center;gap:8px;font-size:.875rem}.printer-status__dot{width:10px;height:10px;border-radius:50%}.printer-status--connected .printer-status__dot{background:var(--color-success)}.printer-status--disconnected .printer-status__dot{background:var(--color-error)}.printer-status--loading{color:var(--color-text-muted)}.food-selector-container{display:flex;flex-direction:column;gap:12px}.food-selector-sort{display:flex;gap:8px}.food-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.food-btn{height:var(--touch-target);border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:1rem;font-weight:500;cursor:pointer;transition:border-color .1s,background .1s,transform .1s;padding:0 12px}.food-btn:active{transform:scale(.97)}.food-btn--active{border-color:var(--color-primary);background:#eff6ff;color:var(--color-primary)}.manual-input__field{width:100%;height:var(--touch-target);border:2px solid var(--color-border);border-radius:var(--radius);padding:0 16px;font-size:1rem;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .1s}.manual-input__field:focus{border-color:var(--color-primary)}.manual-input__field::placeholder{color:var(--color-text-muted)}.selected-preview{flex:1;font-size:1rem;color:var(--color-text-muted)}.selected-preview strong{color:var(--color-text)}.placeholder{font-style:italic}.print-area{display:flex;align-items:center;gap:12px}.copies-stepper{display:flex;align-items:center;gap:8px}.copies-btn{width:36px;height:36px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.copies-btn:disabled{opacity:.4;cursor:default}.copies-count{font-size:1rem;font-weight:600;min-width:28px;text-align:center}.print-btn{height:var(--touch-target);min-width:160px;padding:0 32px;border:none;border-radius:var(--radius);font-size:1.125rem;font-weight:700;cursor:pointer;transition:background .1s,transform .1s;letter-spacing:.5px}.print-btn:active:not(:disabled){transform:scale(.97)}.print-btn--idle{background:var(--color-primary);color:#fff}.print-btn--idle:hover:not(:disabled){background:var(--color-primary-dark)}.print-btn--printing{background:var(--color-text-muted);color:#fff;cursor:wait}.print-btn--success{background:var(--color-success);color:#fff}.print-btn--error{background:var(--color-error);color:#fff}.print-btn:disabled{opacity:.4;cursor:not-allowed}.header-actions{display:flex;align-items:center;gap:16px}.btn-settings{width:40px;height:40px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .1s,transform .1s}.btn-settings:hover{border-color:var(--color-primary)}.btn-settings:active{transform:scale(.95)}.food-manager{display:flex;flex-direction:column;height:100%}.food-manager__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.food-manager__header h1{font-size:1.5rem;font-weight:700}.btn-back{height:44px;padding:0 20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:1rem;font-weight:500;cursor:pointer;transition:border-color .1s,transform .1s}.btn-back:hover{border-color:var(--color-primary)}.btn-back:active{transform:scale(.97)}.food-manager__add{display:flex;gap:12px}.food-manager__input{flex:1;height:48px;border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:0 16px;font-size:1rem;background:var(--color-surface);outline:none;transition:border-color .1s}.food-manager__input:focus{border-color:var(--color-primary)}.btn-add{height:48px;padding:0 24px;border:none;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .1s,transform .1s}.btn-add:hover:not(:disabled){background:var(--color-primary-dark)}.btn-add:active:not(:disabled){transform:scale(.97)}.btn-add:disabled{opacity:.4;cursor:not-allowed}.food-manager__list{flex:1;overflow-y:auto;padding:12px;list-style:none}.food-manager__item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:8px}.food-manager__name{flex:1;font-size:1rem;font-weight:500}.food-manager__count{font-size:.875rem;color:var(--color-text-muted);min-width:40px;text-align:right}.btn-delete{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:#fee;color:var(--color-error);font-size:1.5rem;font-weight:700;line-height:1;cursor:pointer;transition:background .1s,transform .1s}.btn-delete:hover{background:#fcc}.btn-delete:active{transform:scale(.95)}.food-manager__section{padding:20px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.food-manager__section h2{font-size:1rem;font-weight:600;color:var(--color-text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.printer-type-selector{display:flex;gap:12px}.printer-type-option{flex:1;display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .1s,background .1s;-webkit-user-select:none;user-select:none}.printer-type-option:hover{border-color:var(--color-primary)}.printer-type-option input[type=radio]{width:20px;height:20px;cursor:pointer;margin:0}.printer-type-option span{font-size:1rem;font-weight:500}.printer-type-option input[type=radio]:checked+span{color:var(--color-primary);font-weight:600}.printer-type-option:has(input[type=radio]:checked){border-color:var(--color-primary);background:#eff6ff}.printer-select{width:100%;height:48px;border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:0 16px;font-size:1rem;background:var(--color-surface);color:var(--color-text);outline:none;cursor:pointer;transition:border-color .1s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.printer-select:focus{border-color:var(--color-primary)}.printer-select__empty{color:var(--color-text-muted);font-size:.9rem;padding:14px 16px;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-sm)}.food-manager__list-header{display:flex;gap:8px;padding:12px 20px 0}.sort-btn{height:36px;padding:0 16px;border:2px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .1s,color .1s,background .1s}.sort-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.sort-btn--active{border-color:var(--color-primary);background:#eff6ff;color:var(--color-primary);font-weight:600}.food-manager__tabs{display:flex;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 20px;gap:4px}.food-manager__tab{position:relative;height:48px;padding:0 20px;border:none;background:transparent;color:var(--color-text-muted);font-size:1rem;font-weight:500;cursor:pointer;transition:color .15s}.food-manager__tab:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;border-radius:2px 2px 0 0;transition:background .15s}.food-manager__tab:hover{color:var(--color-text)}.food-manager__tab--active{color:var(--color-primary);font-weight:600}.food-manager__tab--active:after{background:var(--color-primary)}.manual-input{display:flex;flex-direction:column;gap:8px}.manual-input__save{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:6px 14px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:999px;font-size:.875rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:border-color .1s,color .1s,background .1s;-webkit-user-select:none;user-select:none}.manual-input__save:has(input:not(:disabled)):hover{border-color:var(--color-primary);color:var(--color-primary)}.manual-input__save:has(input:checked){border-color:var(--color-success);background:#f0fdf4;color:var(--color-success)}.manual-input__save input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--color-success)}.manual-input__save:has(input:disabled){cursor:default}.loading{color:var(--color-text-muted);padding:20px 0}.error-message{color:var(--color-error);font-size:.9rem;padding:8px 12px;background:#fef2f2;border-radius:var(--radius-sm)}
