@tailwind base;@tailwind components;@tailwind utilities;:root{--color-primary: #fddc04;--color-primary-hover: #ffc700;--color-primary-disabled: #ffe680;--color-background: #ffffff;--color-background-secondary: #f5f5f5;--color-text-primary: #000000;--color-text-secondary: #666666;--color-text-muted: #999999;--color-success: #4caf50;--color-error: #ff0000;--color-warning: #ffa500;--color-badge-yellow: #ffd200;--color-border: #e0e0e0;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--line-height: 1.4;--font-size-h1: 28px;--font-size-h2: 20px;--font-size-h3: 17px;--font-size-body: 15px;--font-size-caption: 13px;--font-size-small: 11px;--font-weight-bold: 700;--font-weight-semibold: 600;--font-weight-regular: 400;--border-radius-sm: 6px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--shadow-sm: 0px 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0px -4px 16px rgba(0, 0, 0, .12);--transition-duration: .2s;--transition-easing: ease-out;--app-padding-x: 12px;--app-padding-y: 16px;--app-safe-top-offset: env(safe-area-inset-top, 0px);--app-safe-bottom-offset: env(safe-area-inset-bottom, 0px);font-family:var(--font-family);line-height:var(--line-height);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.desktop,body.desktop{--app-padding-x: 16px}html.fullscreen,body.fullscreen{--app-safe-top-offset: max(env(safe-area-inset-top, 0px), var(--tg-content-safe-area-inset-top, 0px))}html.fullsize,body.fullsize{--app-safe-bottom-offset: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px))}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;touch-action:manipulation;overscroll-behavior-y:none;background:var(--color-background)}#app{width:100%;min-height:100vh;min-height:100dvh;background:var(--color-background);padding-bottom:var(--app-safe-bottom-offset)}.scrollable-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.page-container{padding:var(--app-padding-y) var(--app-padding-x)}.page-container--with-fixed-footer{padding-bottom:100px}.page-container--spacious-bottom{padding-bottom:32px}.page-container--safe-bottom{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.keyboard-open{transition:padding-bottom .3s ease}.hidden-on-keyboard{transform:translateY(200%);transition:transform .3s ease}.categories-sticky.hidden-on-keyboard{opacity:0;pointer-events:none;transition:opacity .2s ease}.h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height)}.h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height)}.h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height)}.body{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-primary);line-height:var(--line-height)}.caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:var(--line-height)}.small{font-size:var(--font-size-small);font-weight:var(--font-weight-regular);color:var(--color-text-muted);line-height:var(--line-height)}.action-btn{width:100%;min-height:56px;padding:0 16px;border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);line-height:1.2;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--transition-duration) var(--transition-easing),transform .15s ease}.action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.action-btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--color-primary);color:var(--color-text-primary);border:none;cursor:pointer;transition:background-color var(--transition-duration) var(--transition-easing)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{background:var(--color-primary-disabled);color:var(--color-text-muted)}.btn-secondary{background:var(--color-background-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-duration) var(--transition-easing)}.btn-secondary:hover:not(:disabled){background:#ebebeb}.btn-danger{background:var(--color-error);color:#fff;border:none;cursor:pointer;transition:background-color var(--transition-duration) var(--transition-easing)}.btn-danger:hover:not(:disabled){background:#e10000}.btn-ghost{background:transparent;color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);border:none;cursor:pointer;padding:8px}.card{background:var(--color-background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:12px}.card-order{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:16px}.input{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:16px;font-size:var(--font-size-body);color:var(--color-text-primary);transition:border-color var(--transition-duration) var(--transition-easing)}.input:focus{outline:none;border-color:var(--color-primary)}.input::placeholder{color:var(--color-text-muted)}.input-search{background:var(--color-background-secondary);border:none;border-radius:var(--border-radius-md);padding:12px 16px}.mini-field{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-primary);font-family:inherit;box-sizing:border-box;transition:border-color var(--transition-duration) var(--transition-easing)}.mini-field:focus{outline:none;border-color:var(--color-primary)}.mini-field::placeholder{color:var(--color-text-muted)}.mini-textarea{width:100%;min-height:90px;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-primary);font-family:inherit;line-height:1.4;box-sizing:border-box;resize:vertical;transition:border-color var(--transition-duration) var(--transition-easing)}.mini-textarea:focus{outline:none;border-color:var(--color-primary)}.mini-textarea::placeholder{color:var(--color-text-muted)}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.badge{background:var(--color-badge-yellow);color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);border-radius:var(--border-radius-sm);padding:4px 8px}.badge-success{background:var(--color-success);color:var(--color-background)}.badge-error{background:var(--color-error);color:var(--color-background)}.divider{height:1px;background:var(--color-border);border:none;margin:0}.skeleton{position:relative;display:block;overflow:hidden;background:#eef2f7;border-radius:10px}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,#fff0,#ffffffb8,#fff0);animation:skeleton-shimmer 1.2s infinite}.skeleton-line{height:16px;margin-bottom:10px}.skeleton-line:last-child{margin-bottom:0}.skeleton-circle{width:40px;height:40px;border-radius:999px}.skeleton-circle-sm{width:28px;height:28px}.skeleton-rounded-full{border-radius:999px}.skeleton-h-8{height:8px}.skeleton-h-22{height:22px}.skeleton-h-24{height:24px}.skeleton-h-36{height:36px}.skeleton-w-24{width:24%}.skeleton-w-28{width:28%}.skeleton-w-32{width:32%}.skeleton-w-36{width:36%}.skeleton-w-38{width:38%}.skeleton-w-40{width:40%}.skeleton-w-44{width:44%}.skeleton-w-46{width:46%}.skeleton-w-48{width:48%}.skeleton-w-52{width:52%}.skeleton-w-56{width:56%}.skeleton-w-58{width:58%}.skeleton-w-60{width:60%}.skeleton-w-64{width:64%}.skeleton-w-70{width:70%}.skeleton-w-72{width:72%}.skeleton-w-80{width:80%}.skeleton-w-84{width:84%}.skeleton-w-90{width:90%}.skeleton-w-100{width:100%}@keyframes skeleton-shimmer{to{transform:translate(100%)}}a[href^="tel:"]{text-decoration:none}.leaflet-container{background:var(--color-background-secondary)}.leaflet-tile{outline:1px solid transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden}.leaflet-tile-container{will-change:transform}.leaflet-container img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-marker-icon,.leaflet-container .leaflet-marker-shadow{max-width:none!important;max-height:none!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-background)}#app{width:100%;min-height:100vh}button{font-family:inherit}::-webkit-scrollbar{width:0px;background:transparent}
