.section {
            background: #fafafa;
            padding: 15px;
            border-radius: 10px;
            margin-bottom: 15px;
            border: 1px solid #eee;
        }

        label {
            font-weight: bold;
            font-size: 13px;
            display: block;
            margin-bottom: 8px;
        }

        input,
        select {
            width: 100%;
            padding: 10px;
            border-radius: 6px;
            border: 1px solid #ccc;
            box-sizing: border-box;
        }

        /* BUTTONS */
        .btns {
            display: flex;
            justify-content: flex-end;
            gap: 10px;
            margin-top: 10px;
        }

        .app {
            padding: 12px 20px;
            background: linear-gradient(135deg, #0a3d62, #07517d);
            color: #fff;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }

        /* LAYOUT */
        .flex {
            display: flex;
            gap: 20px;
        }

        .left {
            width: 35%;
        }

        .right {
            width: 65%;
        }

        /* CANVAS */
        canvas {
            width: 100%;
            border: 1px solid #ddd;
            border-radius: 8px;
            background: #fff;
        }

        .preview-number {
            position: absolute;
            font-weight: bold;
            opacity: 0.7;
        }

        .loader {
            text-align: center;
        }

        /* =========================
   RESPONSIVE DESIGN
========================= */

        /* Tablet */
        @media (max-width: 1024px) {
            .flex {
                flex-direction: column;
            }

            .left,
            .right {
                width: 100%;
            }

            .tool-box {
                margin: 10px;
            }
        }

        /* Mobile */
        @media (max-width: 768px) {
            body {
                padding: 15px;
            }

            .header {
                padding: 15px;
            }

            .content {
                padding: 15px;
            }

            .section {
                padding: 12px;
            }

            label {
                font-size: 12px;
            }

            input,
            select {
                padding: 9px;
                font-size: 14px;
            }

            .btns {
                flex-direction: column;
                align-items: stretch;
            }

            .app {
                width: 100%;
                padding: 12px;
            }

            canvas {
                max-width: 100%;
                height: auto;
            }
        }

        /* Small Mobile */
        @media (max-width: 480px) {
            .header h1 {
                font-size: 18px;
            }

            .section {
                border-radius: 8px;
            }

            .flex {
                gap: 10px;
            }
        }

        /* GRID MODE */
        .grid-view {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
            gap: 12px;
            max-height: 75vh;
            overflow-y: auto;
            padding-right: 5px;
        }

        /* SINGLE VIEW */
        .single-view {
            display: block;
        }